
§ 3.12. Разложение на бесквадратные множители 199
Заметим еще, что из формул
R
i
=
dP
i
dx
P
i+1
, Q
i
=
P
i
P
i+1
вытекает, что deg R
i
= deg P
i
−deg P
i+1
−1 = deg Q
i
−1.
Преимущество алгоритма Остроградского перед стандартным алго
-
ритмом очевидно ввиду того, что на каждом шаге итерации он требу
-
ет нахождения НОД многочленов меньшей степени, чем в стандартном
алгоритме, и вместо двух делений использует только одно, причем для
многочленов опять же меньшей степени. Кроме того, он допускает хо
-
рошую оценку сложности при использовании в нем быстрых алгоритмов
умножения, деления и вычисления НОД.
Оценка сложности алгоритма Остроградского получается довольно
просто, если воспользоваться следующим замечанием.
Пусть M(n)
––
любая оценка сложности умножения двух многочленов
степени n, удовлетворяющая условию супераддитивности: M(x) + M(y) 6
6 M(x + y), и G(n)
––
такая же оценка сложности вычисления НОД двух
многочленов. Например, в качестве M(n) можно взять Cn
log
2
3
, а в ка
-
честве G(n) можно взять CM(n) lg n при большой константе C (это мы
не будем доказывать).
Положим deg Q
i
= n
i
, deg q
i
= m
i
, deg P
2
= p = n
2
+ ... n
k
, тогда m
i
=
= n
i
−n
i+1
, deg R
i
= n
i
−1. Сложность деления без остатка многочлена
степени m на многочлен степени n оценим как 3(M(m −n) + m −n) +
+ M(m), значит, сложность деления двух разных многочленов степени
не выше m на один и тот же многочлен степени n оценивается как
3(M(m −n) + m −n) + 2M(m), тогда нужная оценка имеет вид
n + G(n) + 3M(n − p) + 3n −3p + 2M(n) +
k
X
i=1
(G(n
i
) + 2M(n
i
) + 2n
i
) +
+
k
X
i=2
(3M(n
i
) + 3n
i
) 6 n + G(n) + 3(M(n − p) + n − p) + 2M(n) +
+ G(n) + 2M(n) + 2n + 3(M(p) + p) 6 2G(n) + 7M(n) + 6n.
Полученная оценка показывает, что сложность алгоритма Остроград
-
ского бесквадратной факторизации многочлена степени n асимптоти-
чески лишь в два раза превосходит сложность алгоритма нахождения
НОД двух многочленов степени n.
Интересно отметить, что Остроградский предложил еще один вариант
алгоритма факторизации, основанный на тождестве q
j
=
Q, R − j
dQ
dx
,