Times (sec) 3000
2500
2000
1500
1000
500
50
100
150 200
Рис. 8. Вычисли тслынле 'эксперименты с использованием КТ-алшритма с применением КТО и алгоритма вычисления характеристическою полинома в Mathematica 5.1 (пунктиром)
Times (see)
Рис. 9. Вычислительные жеперименты с использованием КГ-алгоритма с применением КТО и алгоритма вычисления характеристического полинома в Маріє 9.5 (пунктиром)
11 одведем итоги. Самым быстрым для малых порядков матриц теоретически и практически является прямой алгоритм Сейфулииа. Для матриц, у которых порядки меньше 200. самым быстрым является прямой алгоритм Сейфуллина. а для матриц, порядок которых
более 200. самым быстрым является КТ-алгоритм с применением КТО. При этом КТ-алгоритм показывает хорошее согласие с (рафиком функции t = к}п4. а алгоритм Ссйфуллина- с графиком функции / = hrr.
Сравнение с алгоритмами, реализованными в системах Mathematica и MAPLE, оказывается не в пользу этих систем. Так. для матриц 200 порядка, характеристический полином которых вычисляется С ПОМОЩЬЮ КТ алгоритма с применением КТО и прямым алгоритмом Сейфуллина за одинаковое время, они выигрывают в 6 раз по сравнению с алгоритмом, реализованным в системе Mathematica, и 3.8 раза - по сравнению с алгоритмом, реализованным в системе MAPLE.
ЛИТЕРАТУРА
1. Машшоыак ГЛ. A computation of the characteristic polynomial of an endomorphism of a free module / Записки научным семинаров ПОМИ. 1999. T. 258. С. 101-114.
2. Переславцет О.Н. Оценка числа бит-умножений в алгоритмах вычисления определителя, характеристическою полинома и присоединённой матрицы ,/ XI Державинские чтения. Тамбов, 2006. С. 79-83.
3. Переславцева ОН. История и современное состояние теории алгоритмов вычисления характеристического полинома матрицы // Современное математическое образование и проблемы истории и методологии математики: междунар. науч. конф. Тамбов, 2006 С. 130-134.
4. ( «йфу.-мви Т.}‘. Вычисление определителя, присоединённой матрицы и характеристического полинома бел деления // Кибернетика и системный анализ. 2002. №5. С. 18-42.
5. Фа<кЯхч< /{.!{., ФаМеева В Н Вычислительные методы линейной алгебры. М., Л.: Гос. изд-во физ.-мат. лит , 1963.
6. Jounaidi Abdeijaoued THFSE «Algonthmes rapides pour Ic Calcul du Polynome Caractcristique Grade de doctcur de I'Universite de I ranche-Comte, 22 mars 1997.
7. ('histovA./.. Fast parallel calculation of the rank of matrices over a field of arbitrary characteristic Proc. FCT '85. Springer L ecture Notes in Computer Science 199, 1985. PP. 147-150.
БЛАГОДАРНОСТИ: Работа выполнена при частичной поддержке гранта РФФИ, проект 04-07-90268.
Поступила в редакцию 19 октября 2006 г.
О ВЫЧИСЛЕНИИ КОМПЛЕКСНЫХ КОРНЕЙ полиномов
© Г.И. Малашонок, А. А. Бетин
Malashonok (М.. Betin A. A. On calculation of complex radicals of polynomials.
Задача состоит в нахождении всех корней уравнения
/(-’) = 0 - (2)
с заданной точностью где Е - ото максимальная по модулю ошибка вычисления действительной и мнимой части каждого корня.
Выделим у коэффициентов и неизвестного 2 ^ X + iy действительную и мнимую части и представим функцию f(x) как сумму ее действительной и мнимой части. Тогда задача сводится к решению системы уравнений.
Приближенное вычисление корней полиномов является одной из важных задач вычислительной математики. Мы предлагаем алгоритм вычисления комплексных корней полиномов с любой требуемой точностью, при этом используются только рациональные вычисления и алгоритмы вычисления действительных корней полиномов с действительными коэффициентами с требуемой точностью.
Рассмотрим полином над полем комплексных чисел
+«!?” 1+а>” 2 + ... + а„2 + а„и (I)
которая получена приравниванием действительной и мнимой части полинома к нулю.
Обозначим
Яе( ,/ ( .- )) = ф „ (.г, г ),
1т( /{:)) = Ф , ( л, V ).
Тогда система будет иметь вид
Фо(*л0 = О. (3)
ф,<^г, V) = 0.
Система (3) - это система, состоящая из 2-х алгебраических уравнений с 2-мя неизвестными.
Рассмотрим идеал Ш =- (ф0.ф,) с /фг, у], порожденный (р0 и ф,. Каждое решение системы (3) обращает в ноль любой элемент идеала 1(1. Построим такие полиномы. которые лежат в этом идеале и содержат только одну переменную д- или у. Тогда х компоненты всех решений системы (2) будут находиться среди корней первого полинома, а у компоненты - среди корней второю полинома. Для нахождения таких полиномов можно воспользоваться алгоритмом вычисления последовательности полиномиальных остатков [1-2|.
Ьудем считать, что V - старшая переменная и будем рассматривать полиномы в кольце &[*)[у]- Обозначим через г /' степень полинома/по переменной у. Пусть,
ДЛЯ определенности, degy ф| нс превосходит (Зе§у ф0. Тогда можно построить последовательность полиномиальных остатков гю следующей схеме:
а,<р0 + р|<р, =ф2, а2Ф| +Р2Ф2 ~ Фз-
а».Ф*-1+Р»Ф*=Ф*+1'
1'де а,.}*/ е Щх] выбираются так. чтобы выполнялось условие dcgl ф, < dcgl.ф(+] != 1.2.п. (1ед,.фяИ - 0-
Операция вычисления ф, на шаге / -1 называется операцией псевдоделения [1-2]. Не трудно видеть, что найденные таким образом ф; находятся в 1(1. Рассмотрим
Ф(Ч,+1=о ■ (4)
Все действительные части корней уравнения (2) находятся среди корней уравнения (4).
Аналогично можно поступить, считая х старшей переменной и рассматривая ф, в Я[у|[х].
В результате новой серии псевдодслений получаем уравнение
Ф(>0а+1=0' (5)
где ф(_у)л+1 е /?[у]. Среди корней уравнения (5) находятся все мнимые части корней уравнения (1).
Составим все возможные пары чисел (лг/Лу*). из
корней уравнений (4) и (5). при этом корни будем вычислять с точностью Е. Тогда среди этих пар будут находиться все решения системы (2) с требуемой точностью.
Определим функцию, характеризующую погрешность вычисления пар (ху,^) следующим образом:
егг(х,.ук) \щ(хгук) +,ф,v;). (6)
Выбрав п пар чисел (.v;, у^). для которых err ( х j, v к ) принимает наименьшие значения, находим корни уравнения (I) z = хj + />’* • При этом, если
все корни уравнения (1) простые, то получаем п различных корней уравнения (I), в противном случае получаем п корней уравнения (1) с учетом их кратности.
Гели коэффициенты исходного полинома являются действительными числами, то найденные корни буду г действительными или комплексно сопряженными. Выбирая пары комплексно сопряженных корней, получим квадратичные сомножители в разложении на множители данного полинома. Действительные корни будут соответствовать линейным сомножителям. Тем самым будет получено разложение полинома над полем действительных чисел на неприводимые сомножители [4].
ЛИТЕРАТУРА
1. Акритас А. Основы компьютерной алгебры с приложениями. М : Мир, 1994.
2. Компьютерная алгебра. Символьные и алгебраические вычисления / поя ред. В. Бухбергера, Дж, Коллидина, Р. Лооса. М.: МИР. 1986.
3. Фихтенго:1ьц Г.М. Курс дифференциального и интегрального исчисления. М.: Наука. 1970. Т. 1-3.
БЛАГОДАРНОСТИ: Работа частично поддержана грантом РФФИ 04-07-902686.
Поступила в редакцию 19 октября 2006 г.