2014-11-22 4 views
2

У меня есть проблема поиска корней. Формат функции может быть произвольным, тогда как я хочу решить следующий:комплексный алгоритм поиска корней

f(x)= a+exp(-x**2)(b+c*x+d*x**2) 

где а, б, в и г даны параметров, а не только действительные числа. Я прочитал о алгоритме поиска корней многочлена, но до сих пор не знаю, как решить такие функции, как я написал здесь. Помимо первоначальной догадки, как мы определяем значение следующей итерации на основе первой и как определить сопряженные пары, поскольку требуются комплексные корни?

+0

Возможно, вы должны опубликовать это на сайте Math StackExchange. –

ответ

2

Ваша функция не является полиномом, поскольку она содержит экспоненциальную функцию. Метод Ньютона-Рафсона часто используется для численного поиска корней. Он подробно описан в http://en.wikipedia.org/wiki/Newton%27s_method с примерами.

+0

Спасибо, что поделились этой ссылкой. Однако на самом деле я хочу узнать сложный корень, из которого мнимая часть значительна в физике. Итак, есть ли у вас какие-либо предложения по этому поводу? – someone

+0

Newton-Raphson, как правило, только сходится к реальным решениям, если вы начинаете его с реальной строки, но если вы начнете его с комплексного числа, он также найдет сложные корни. Какой корень он фактически сходится, зависит от того, где вы его запускаете, поэтому вам, возможно, придется попробовать несколько разных отправных точек. Симпатичная диаграмма рядом с разделом «Комплексные функции» в ссылке имеет пиксели, окрашенные в пять разных цветов, чтобы показать, какой из сложных корней x^5 = 1 = 0 он сходится с этой начальной точки. – mcdowella