Algebra&Geometry / modules 3-4 / lect03
.pdfЛекция 3. Корни многочленов
1. Кратные корни
Нам понадобится понятие кратности корня.
Определение 1. Корень a многочлена p имеет кратность k, если многочлен делится на (x ¡a)k, но не делится на (x ¡ a)k+1. Корень кратности 1 называется простым, а корень кратности > 1 кратным.
Предложение. Кратные корни многочлена p являются корнями его производной p0. Простые корни не являются корнями производной. Если a кратный корень кратности k многочлена p, то a является корнем кратности k ¡ 1 многочлена p0.
Доказательство. Если a кратный корень многочлена p, то p = (x ¡ a)kq, где k > 1. Следовательно, p0(x) = k(x ¡ a)k¡1q(x) + (x ¡ a)kq0(x);
и p0(a) = 0.
Если a простой корень многочлена p, то p = (x ¡ a)q, причем q(a) 6= 0. Следовательно, p0(a) = q(a) + (a ¡ a)q0(a) = q(a) =6 0:
Пусть p = (x ¡ a)kq, где k > 1 и q(a) 6= 0. Тогда
p0 = k(x ¡ a)k¡1q + (x ¡ a)kq0 = (x ¡ a)k¡1(kq + (x ¡ a)q0):
Так как k(q(a) + (a ¡a)q0(a) = kq(a) =6 0, то многочлен p0 делится на (x ¡a)k¡1, но не делится на (x ¡a)k. ¤
2. Наибольший общий делитель и алгоритм Евклида
Определение 2. Многочлен d называется наибольшим общим делителем двух многочленов p и q, если: а) d является делителем и p и q; б) любой общий делитель многочленов p и q делит d.
Алгоритм Евклида нахождения наибольшего общего делителя. Даны два многочлена p и q, deg(p) > deg(q). Положим g := p, h := q.
Первый шаг. Делим многочлен g на многочлен h и находим остаток от деления многочлен r. Переходим ко второму шагу.
Второй шаг. Если r 6= 0, то полагаем g := h, h := r и переходим к шагу 1. Если r = 0, то переходим к шагу 3. Третий шаг. Работа алгоритма завершена НОД(p; q) := h.
Замечание. Пусть d = НОД(p; p0). Тогда каждый корень a многочлена d является кратным корнем многочлена p, причем кратность a как корня d на единицу меньше кратности a как корня p. Это в частности означает, что все корни многочленов p и s = p=d совпадают, но каждый корень многочлена s простой.
3. Нахождение корней
Всегда возникают трудности, если у многочлена есть кратные корни. Поэтому, если нам нужно просто найти все корни, то сначала следует перейти к многочлену p=НОД(p; p0).
Существует несколько алгоритмов нахождения комплексных корней комплексных многочленов. Здесь будет описан самый простой алгоритм Дюрана-Кернера. Рассмотрим его работу на примере многочлена степени 4: f(x) = x4 + ax3 + bx2 + cx + d. Если P; Q; R; S его корни, то f(x) = (x ¡ P )(x ¡ Q)(x ¡ R)(x ¡ S)
и для любого x 6= P; Q; R; S
P = x ¡ |
|
f(x) |
; |
Q = x ¡ |
f(x) |
; |
|
|
(x ¡ Q)(x ¡ R)(x ¡ S) |
x ¡ P )(x ¡ R)(x ¡ S) |
|||||
R = x ¡ |
|
f(x) |
; |
S = x ¡ |
|
f(x) |
: |
(x ¡ P )(x ¡ Q)(x ¡ S) |
x ¡ P )(x ¡ Q)(x ¡ R) |
Используя эти формулы, мы будем вычислять приближенные значения корней все с большей и большей точностью.
Для того, чтобы начать вычисление, мы достаточно произвольно выбираем числа P0; Q0; R0; S0. Нужно только, чтобы эти числа лежали в круге радиуса 1 + max(jaj; jbj; jcj; jdj) и не были близки к друг другу. Далее полагаем
1
2
Pn =Pn¡1
Qn =Qn¡1
Rn =Rn¡1
Sn =Sn¡1
¡ |
|
|
|
f(Pn¡1) |
|
|
; |
|
|
(Pn¡1 ¡ Qn¡1)(Pn¡1 ¡ Rn¡1)(Pn¡1 ¡ Sn¡1) |
|||||||
¡ |
|
|
|
f(Qn¡1) |
|
; |
|
|
|
|
|
(Qn¡1 ¡ Pn)(Qn¡1 ¡ Rn¡1)(Pn¡1 ¡ Sn¡1) |
|
||||
¡ |
|
|
|
f(Rn¡1) |
; |
|
|
|
|
|
(Rn¡1 ¡ Pn)(Rn¡1 ¡ Qn)(Rn¡1 ¡ Sn¡1) |
|
|
||||
¡ |
|
|
|
f(Sn¡1) |
|
|
|
|
(Sn¡1 ¡ Pn)(Sn¡1 ¡ Qn)(Sn¡1 ¡ Rn) |
: |
|
|
|
В процессе вычислений каждая из величин Pn; Qn; Rn; Sn „выбирает\ свой корень и начинает к нему сходиться. Вычисления прекращаются в тот момент, когда числа Pn; Qn; Rn; Sn перестают изменяться (в пределах заданной точности).
Пример. Пусть f(x) = x4 + 2i x3 + (3 ¡ i)x2 + 5x ¡ 3 + 4i. Четыре корня этого многочлена таковы:
¡1:2928 ¡ 0:1575 i; 0:0461 ¡ 3:0807 i; 0:5435 ¡ 0:4250 i; 0:7031 + 1:6633 i:
Положим P0 = 1, Q0 = i, R0 = ¡1, S0 = ¡i. Алгоритм работает следующим образом:
шаг |
P |
Q |
R |
S |
0 |
1 |
i |
-1 |
-i |
1 |
-0.5-1.25 i |
0.4353+2.5411 i |
-1.5797-0.4631 i |
0.0289+1.1033 i |
2 |
-1.1477-1.8146 i |
1.9843+1.3339 i |
-1.0212-0.0874 i |
1.0532+0.7071 i |
3 |
-0.3091-2.3015 i |
-1.2211+0.7676 i |
-1.2265+0.6573 i |
0.4025+0.3918 i |
4 |
-0.4010-2.9113 i |
23.0282+4.1758 i |
-1.2295+0.5589 i |
0.4524+0.4087 i |
5 |
-0.3548-2.8764 i |
1.0392-0.0484 i |
-0.9133-0.2735 i |
1.9881+1.3481 i |
6 |
0.0334-2.8633 i |
0.8998-0.8518 i |
-1.1547-0.3359 i |
0.8504+1.9772 i |
7 |
0.1059-3.1017 i |
0.5659-0.4294 i |
-1.2669-0.1756 i |
0.6933+1.6685 i |
8 |
0.0454-3.0812 i |
0.5433-0.4246 i |
-1.2927-0.1574 i |
0.7031+1.6633 i |
9 |
0.0461-3.0807 i |
0.5435-0.4250 i |
-1.2928-0.1575 i |
0.7031+1.6633 i |
Мы видим, что P на третьем шаге выбирает свой корень, R тоже на третьем, а Q и S на пятом.