KAP's blog

By KAP, 11 years ago, In Russian

Что делать, если вам в программе надо вычислить значение производной некоторой функции, но вам очень не хочется прилагать для этого специальные усилия — т.е. не хочется ни дифференцировать на бумажке, ни забивать ваши формулы в Sage/Wolfram Alpha/Maple/...? Тем более если вы не хотите заново проводить все выкладки, если вдруг окажется, что производную надо брать от другой функции? Естественно, вариант написать (f(x+eps)-f(x))/eps вас по понятным причинам не устраивает тоже.

Вот код, который решает уравнение  методом Ньютона. А вот и подробный пост (мой же) с формулами, объясняющий, как это работает и чем это круто.


Я этот способ использовал некоторое время назад (как и сказано на Хабре), когда мне надо было решить систему из двух уравнений методом Ньютона. Потом я спонтанно рассказывал его в ЛКШ.Зима. Потом я обнаружил, что этот прием называется «автоматическое дифференцирование», но, видимо, не очень широко известен. Поэтому подумал, что, пожалуй, стоит про него и написать.

  • Vote: I like it
  • +60
  • Vote: I do not like it