Есть такая задача: найти все корни (действительные и комплексные) полинома степени n, при чем границы не заданы, на которых хотя бы предположительно локализованы все эти корни. Поэтому у меня возникло 2 вопроса:
Заранее спасибо. задан 7 Июн '12 22:18 nvse |
1) Метод Ньютона можно использовать для комплексного случая, формула не изменится $%z_2=z_1-\frac{f(z_1)}{f'(z_1)}$%. 2) Корни многочлена всегда ограничены по модулю, для ограничения области можно использовать соответствующие теоремы (см., например, учебник Куроша). 3) Можно использовать метод Лобачевского либо для поиска максимального по модулю корня с последующим ограничением области по нему, либо для поиска всех корней (правда, эта схема достаточно сложна для программирования). 4) Если это член с действительными коэффициентами, нужно учитывать, что комплексные корни могут появляться только парой $%z, \bar{z}$%, достаточно найти только один корень этой пары, например, в полуплоскости $%Im(z)>0$%. 5) Наиболее простой с моей точки зрения алгоритм - генерация случайной точки + запуск метода Ньютона из этой точки. отвечен 8 Июн '12 13:38 Андрей Юрьевич |