- •§ 1. Кольцо k[X] многочленов от одного переменного
- •Операции сложения и произведения многочленов
- •Второе из условий проверяется аналогично.
- •§ 2. Деление многочленов с остатком
- •Свойства степени
- •§ 3. Деление многочленов нацело
- •Свойства делимости нацело
- •§ 4. Многочлены как функции
- •§ 5. Формулы Виета
- •§ 6. Формальная производная многочлена
- •Простейшие свойства формальной производной
- •Формула Тейлора для многочленов
- •§ 7. Схема Горнера
- •I. Вычисление значения многочлена
- •II. Деление многочлена на двучлен
- •III. Разложение многочлена по степеням двучлена
- •Вычисление значений производных многочлена
- •§ 8. Сводка результатов для многочленов над полем
- •§ 9. Интерполяция многочленов над полем
- •§ 10. Наибольший общий делитель многочленов над полем
- •Простейшие свойства наибольшего общего делителя
- •§ 11. Алгоритм Евклида
- •§ 12. Линейное разложение наибольшего общего делителя
- •§ 13. Наименьшее общее кратное многочленов над полем
- •Простейшие свойства наибольшего общего делителя
- •§ 14. Основная теорема алгебры многочленов над полем
- •Некоторые свойства простых многочленов
- •§ 15. Факториальные кольца
§ 11. Алгоритм Евклида
В этом параграфе будет изложен эффективный алгоритм нахождения НОД(f, g) двух многочленов f(x) и g(x) 0.
С
f(x) =
g(x)q0(x)
+ r0(x),
d(r0)
< d(g),
g(x) =
r0(x)q1(x)
+ r1(x),
d(r1)
< d(r0),
r0(x)
= r1(x)q2(x)
+ r2(x),
d(r2)
< d(r1),
… … … … …
rs–2(x)
= rs–1(x)qs(x)
+ rs(x),
d(rs)
< d(rs–1),
rs–1(x)
= rs(x)qs+1(x)
+ 0
Алгоритм Евклида
d(g) > d(r0) > d(r1) > … > d(rs) > d(rs+1) > … ,
что невозможно.
Связь алгоритма Евклида с задачей нахождения НОД(f, g) устанавливает следующая
Теорема (Евклида).
НОД(f,
g)
=
Доказательство. Если r0(x) = 0, т.е. g(x) | f(x), равенство НОД(f, g) = g следует из доказанного в прошлом параграфе свойства 30 наибольшего общего делителя.
Если же r0(x) 0, т.е. g(x) f(x), то по свойству 40 наибольшего общего делителя последовательно получаем из алгоритма Евклида:
(f, g) = (f(x)–g(x)q0(x), g(x)) = (r0 , g) = (r0(x), g(x)–r0(x)q1(x)) = (r0 , r1) = … = (rs–2 , rs–1) =
= (rs–2(x)–rs–1(x)qs(x), rs–1(x)) = (rs , rs–1) = rs(x).
Теорема доказана.
Примеры: 1. Найти НОД(x6 + 2x2 – 3, x2 – 1).
Таким образом, НОД(x6 + 2x2 – 3, x2 – 1) = x2 – 1.
2. Найти НОД(x2 + 2x – 3, x4 – 3x3 + x2 + 1).
Для того, чтобы применить алгоритм Евклида, вначале переставим местами многочлены: НОД(x2 + 2x – 3, x4 – 3x3 + x2 + 1) = НОД(x4 – 3x3 + x2 +1, x2 + 2x – 3).
Таким образом, НОД(x4 – 3x3 + x2 +1, x2 + 2x – 3) = = –28x + 28 = –28(x – 1). Учитывая, что наибольший общий делитель многочленов определён с точностью до пропорциональности, можно записать проще:
НОД(x4 – 3x3 + x2 +1, x2 + 2x – 3) = x – 1.
3. НОД(x2 – 1, x4 – 3x3 + x2 + 1, x + 1) = (?!) = НОД(x2 – 1, НОД( x4–3x3+x2+1, x+1)).
П
_
x4
– 3x3
+ x2+
1 | x +
1
x4
+ x3
x3
– 4x2
+ 5x
– 5
_
_ –4x3
+ x2
+ 1
–4
_ 5x2 + 1
5x2 + 5x
_ –5x + 1
–5x – 5
6
ри нахождении НОД( x4–3x3+x2+1, x+1) получен остаток 6, на который в последующем делении многочлен x + 1, очевидно, разделится нацело. Поэтому для экономии времени это деление не производим. Значит, НОД(x4–3x3+x2+1, x+1) = 1, и искомый наибольший общий делитель равен НОД(x2–1, 1) = 1.
Попробуйте получить этот результат, используя формулу НОД(f, g, h) = НОД(НОД(f, g), h) и почувствуйте разницу.
Упражнения: 1. Найдите НОД(x3 + 1, x2 – 1), НОД(x4 + 1, x2), НОД(x4 + 1, x3 – 1).
2. Докажите, что НОД(fh, gh) = НОД(f, g)h.
3. Верно ли, что НОД(f 2, g 2) = НОД(f, g)2 ?
4. Чему равен НОД(x2007 – 1, x223 – 1) ?
5.
Докажите, что НОД(
+
1,
+
1)
= 1 при
k
m.
