Реализация функции Lambert W в Java
Я работаю над проектом и оказался в ситуации, когда мне нужна функция, чтобы иметь возможность получить хотя бы приближение значения W(x),функция Ламберта W, где x может быть любым вещественным числом. Я работаю на Яве. Я не мог найти никаких реализаций W в java, когда я искал. Я готов код внедрения сам, если потребуется, но я не уверен, как это будет сделано прямо сейчас. Любые толчки в правильном направлении были бы много оцененный.
2 ответов
взгляните на эту страницу:http://mathworld.wolfram.com/LambertW-Function.html
он перечисляет приближение для z>3
а также расширение серии для функции.
вы также можете использовать метод Ньютона и метод Галлея для аппроксимации функции:http://en.wikipedia.org/wiki/Lambert_W_function#Numerical_evaluation
функция Ламберта является обратной функцией g(w) = w*exp(w)
он проверяет:
W(z)eW(z) = z.
хорошим способом оценить W (z) на данном z было бы использовать Ньютона рафсона способ :
решение : f(Y)= Yexp(Y) - z = 0.
вы найдете Y = W(z)
методом
вам придется найти и реализовать на java метод самостоятельно.
надеюсь, что это помогает
ниже иллюстрация из Википедии метод: