Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Алгоритмы > Корень полинома n-й степени |
Автор: sultan_str 11.11.07, 14:03 |
Необходимо найти все корни полинома любой степени, с комплексными коэффициентами. Что можете посоветовать? Какой метод практичнее и менее трудоемкий |
Автор: shadeofgray 11.11.07, 16:03 |
Можно посоветовать два способа: 1. через собственные числа комплексной матрицы-компаньона 2. алгоритм Дженкинса-Трауба Оба способа обладают очень хорошей сходимостью. К сожалению, единственная мне известная реализация алгоритма поиска собственных чисел комплексной несимметричной матрицы (необходимо для первой задачи) - это LAPACK, написано на Fortran (правда, можно ещё CLAPACK попробовать прикрутить - и будет на С). В сети где-то были реализации алгоритма Дженкинса-Трауба - можно поискать их. |
Автор: sultan_str 11.11.07, 16:31 |
я пока сам остановился на методе секущих, и один корень я нахожу. с остальными пока проблема, т.к надо делить полином на разность z-корень. насчет предложенного метода 1 ( также метод парной матрицы), мне не подойдёт т.к. надо будет искать спектр матрицы в форме Фробениуса...что для меня не рационально, т.к полином я решаю для Метода Леверье находя собственные значения. Добавлено Есть алгоритм Лаггера применимый для полиномов с комплексными коэффициетами, может кто его знает? Он реализован в пакете Маткад кстати... |
Автор: shadeofgray 12.11.07, 08:48 |
Цитата shadeofgray @ Есть алгоритм Лаггера применимый для полиномов с комплексными коэффициетами, может кто его знает? В Numerical Recipes in C, глава 9.5, есть описание этого алгоритма. Ссылку для скачивания PDF-файла ищите на сайте www.nr.com |
Автор: sultan_str 12.11.07, 13:58 |
Обязательно посмотрю эту главу. Потом отпишусь |
Автор: sultan_str 12.11.07, 14:59 |
у меня проблема с просмотром зашифрованных pdf с www.nr.com, если нетрудно выложи главу 9 пож-та в текстовом виде. Пожалуйста |
Автор: shadeofgray 12.11.07, 19:34 |
Вы скачиваете с этого адреса - http://www.nrbook.com/a/bookcpdf.php ? Там есть ссылка на плагин, который надо установить, чтобы прочитать файл. Должно работать. |
Автор: sultan_str 16.11.07, 13:06 |
не работает, потому что там не все pdf доступны бесплатно, а тока вводные главы,на остальные надо покупать доступ.Вот так... |
Автор: sultan_str 30.11.07, 16:23 |
Проблема наконец-то решена...причем способа решения получилось два...Один из них реализован в пакетах Maple,MathCad и др. и другой придуманный мною, но сильно зависящий от начальных приближений( хотя за частую все корни полиномов степени выше 3 лежат в круге |z|<1 и начальное приб z=0+0i подходит почти всегда). Спасибо shadeofgray, алгоритм Джекинса-Трауба я так и не отыскал, если где нибудь найдешь выложи мне интересно посмотреть |
Автор: amk 07.12.07, 15:35 |
Что за алгорпитм Джекинса-Трауба? Если это алгоритм вывделения комплексного корня алгебрагического уравнения, то я как-то написал такой алгоритм совершенно самостоятельно и без всяких ссылок (правда для случая вещественных коэффициентов, и на awk) |