На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Корень полинома n-й степени , Поиск корней полинома
    Необходимо найти все корни полинома любой степени, с комплексными коэффициентами.
    Что можете посоветовать? Какой метод практичнее и менее трудоемкий
      Можно посоветовать два способа:
      1. через собственные числа комплексной матрицы-компаньона
      2. алгоритм Дженкинса-Трауба

      Оба способа обладают очень хорошей сходимостью. К сожалению, единственная мне известная реализация алгоритма поиска собственных чисел комплексной несимметричной матрицы (необходимо для первой задачи) - это LAPACK, написано на Fortran (правда, можно ещё CLAPACK попробовать прикрутить - и будет на С). В сети где-то были реализации алгоритма Дженкинса-Трауба - можно поискать их.
        я пока сам остановился на методе секущих, и один корень я нахожу. с остальными пока проблема, т.к надо делить полином на разность z-корень.
        насчет предложенного метода 1 ( также метод парной матрицы), мне не подойдёт т.к. надо будет искать спектр матрицы в форме Фробениуса...что для меня не рационально, т.к полином я решаю для Метода Леверье находя собственные значения.

        Добавлено
        Есть алгоритм Лаггера применимый для полиномов с комплексными коэффициетами, может кто его знает?
        Он реализован в пакете Маткад кстати...
          Цитата shadeofgray @
          Есть алгоритм Лаггера применимый для полиномов с комплексными коэффициетами, может кто его знает?

          В Numerical Recipes in C, глава 9.5, есть описание этого алгоритма. Ссылку для скачивания PDF-файла ищите на сайте www.nr.com
            Обязательно посмотрю эту главу. Потом отпишусь
              у меня проблема с просмотром зашифрованных pdf с www.nr.com, если нетрудно выложи главу 9 пож-та в текстовом виде. Пожалуйста :)
                Вы скачиваете с этого адреса - http://www.nrbook.com/a/bookcpdf.php ? Там есть ссылка на плагин, который надо установить, чтобы прочитать файл. Должно работать.
                  не работает, потому что там не все pdf доступны бесплатно, а тока вводные главы,на остальные надо покупать доступ.Вот так...
                    Проблема наконец-то решена...причем способа решения получилось два...Один из них реализован в пакетах Maple,MathCad и др. и другой придуманный мною, но сильно зависящий от начальных приближений( хотя за частую все корни полиномов степени выше 3 лежат в круге |z|<1 и начальное приб z=0+0i подходит почти всегда). Спасибо shadeofgray, алгоритм Джекинса-Трауба я так и не отыскал, если где нибудь найдешь выложи мне интересно посмотреть ;)
                      Что за алгорпитм Джекинса-Трауба? Если это алгоритм вывделения комплексного корня алгебрагического уравнения, то я как-то написал такой алгоритм совершенно самостоятельно и без всяких ссылок (правда для случая вещественных коэффициентов, и на awk)
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0327 ]   [ 16 queries used ]   [ Generated: 28.03.24, 21:07 GMT ]