Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
K[x].doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.64 Mб
Скачать

§ 12. Линейное разложение наибольшего общего делителя

Запись вида НОД(f1(x), … , fn(x)) = f1(x)u1(x) + … + fn(x)un(x), где u1(x), … , un(x) – некоторые многочлены, называется линейным разложением НОД(f1 , … , fn ). В частности, при n = 2 линейное разложение НОД(f, g) приобретает вид НОД(f, g) = f(x)u(x) + g(x)v(x), где u(x) и v(x) – некоторые многочлены.

Теорема (о линейном разложении НОД). Линейное разложение НОД(f1 , … , fn ) существует для любых многочленов f1(x), … , fn(x) F[x], не равных одновременно нулю.

Доказательство. Вначале докажем теорему для случая двух многочленов, а затем проведём общие рассуждения.

Пусть f(x), g(x) F[x], g(x) 0. Если g(x) | f(x), то НОД(f, g) = g(x) = f(x)0+g(x)1 – линейное разложение НОД(f, g).

Если же g(x) f(x), то (по теореме Евклида) НОД(f, g) = rs(x)последнему ненулевому остатку в алгоритме Евклида. Из равенств алгоритма Евклида, последовательно двигаясь сверху вниз, найдём представления ri(x) = f(x)ui(x) + g(x)vi(x) (0 i s). Найденное представление такого вида для rs(x) и будет линейным разложением НОД(f, g). Имеем:

r0(x) = f(x)1 + g(x)(–q0(x)), т.е. ,

r1(x) = g(x)1 + r0(x)(–q1(x)) = g(x)1 + (f(x)u0(x)+g(x)v0(x))(–q1(x)) =

= f(x)(–u0(x)q1(x))+g(x)(1–v0(x)q1(x)), т.е.

r2(x) = r0(x)1 + r1(x)(–q2(x)) = (f(x)u0(x)+g(x)v0(x))1+(f(x)u1(x)+g(x)v1(x))(–q2(x)) =

= f(x)(u0(x)–u1(x)q2(x))+g(x)(v0(x)–v1(x)q2(x)), т.е.

Если уже найдены формулы (1 i k < s–1), то формулы при i = k+1 получаются аналогично предыдущему:

rk+2(x) = rk(x)1+rk+1(x)(–qk+2(x)) = (f(x)uk(x)+g(x)vk(x))1+(f(x)uk+1(x)+g(x)vk+1(x))(–qk+2(x)) =

= f(x)(uk(x)–uk+1(x)qk+2(x))+g(x)(vk(x)–vk+1(x)qk+2(x)), т.е. ,

что и требовалось.

В общем случае n 2 проведём индукцию по n с базой n = 2. Запишем линейные разложения для Dn–1(x) = НОД(f1 ,…, fn–1 ) и Dn(x) = НОД(Dn–1 , fn ), которые существуют по предположению индукции и рассмотренному случаю n = 2:

Dn–1(x) = f1(x)u1(x)+…+fn–1(x)un–1(x), Dn = Dn–1(x)a(x)+fn(x)b(x).

Остаётся заметить, что Dn(x) = НОД(f1 ,…, fn ) и получить его линейноле разложение:

Dn = Dn–1(x)a(x)+fn(x)b(x) = (f1(x)u1(x)+…+fn–1(x)un–1(x))a(x)+ fn(x)b(x) =

= f1(x)(u1(x)a(x))+…+fn–1(x)(un–1(x)a(x))+fn(x)b(x).

Теорема доказана.

Следствие (основное свойство взаимно простых многочленов). Если f(x) | g(x)h(x) и многочлены f(x) и g(x) взаимно просты, т.е. НОД(f, g) = 1, то f(x) | h(x).

Доказательство. Если f(x)p(x) = g(x)h(x), то из линейного разложения (f, g) = 1 = = f(x)u(x)+g(x)v(x) после умножения на h(x), получим h(x) = f(x)u(x)h(x)+g(x)h(x)v(x). Оба слагаемых в правой части делятся нацело на f(x), а значит, на f(x) делится и левая часть h(x). Следствие доказано.

Примеры: 1. Найти линейное разложение НОД(f, g), где f(x) = x4+3x3+3x2+2x1, g(x) = x3 + 3x2 + 2x.

А

_ x4+3x3+3x2+2x–1 | x3 + 3x2 + 2x

x4+3x3+2x2 x

_ x3+3x2+2x |x2+2x–1

x3+2x2–x x+1

_ x2+3x

x2+2x–1

_ x2+2x–1 | x+1

x2 + x x+1

_ x–1

x+1

2 – НОД

лгоритм Евклида:

f(x) = g(x)x + (x2 + 2x 1)

g(x) = (x2 + 2x – 1)(x+1)+(x+1)

(x2 + 2x – 1) = (x+1)(x+1) – 2

Последний шаг алгоритма Евклида приводить нет нужды, т.к. в нём произойдёт деление нацело. Ясно, что НОД(f, g) = –2, и действуя, как при доказательстве теоремы, получаем последовательно:

x2 + 2x – 1 = f(x)1+g(x)(–x),

x+1 = g(x)1+(x2+2x–1)(–x–1) =

= g(x)1+(f(x)1+g(x)(–x))(–x–1) = f(x)(–x–1)+g(x)(x2+x+1),

2 = (x2+2x–1)1+(x+1)(–x–1) = (f(x)1+g(x)(–x))1+(f(x)(–x–1)+g(x)(x2+x+1))(–x–1) =

= f(x)(x2+2x+2)+g(x)(–x3–2x2–3x–1).

Итак, НОД(f, g) = –2 = f(x)(x2+2x+2)+g(x)(–x3–2x2–3x–1) – искомое линейное разложение.

2. Найти линейное разложение НОД(f, g), где f(x) = x49x3+17x2+11x+20, g(x) = x3–10x2+26x5.

А

_ x49x3 + 17x2+ 11x + 20 | x310x2 + 26x5

x410x3 + 26x2 5x x + 1

_ _ x39x2 + 16x + 20

x310x2 + 26x – 5

_ x310x2 + 26x5| x210x + 25

x3 – 10x2 + 25x x

_ x210x + 25 | x5 НОД

x25x x – 5

_ –5x + 25

5x + 25

0

лгоритм Евклида

f(x) = g(x)(x+1) + (x2–10x + 25)

g(x) = (x2–10x +25)x+(x–5)

(x2–10x + 25) = (x–5)(x–5) + 0

показывает, что НОД(f, g) = x–5. Для получения линейного разложения можно двигаться по алгоритму Евклида и “снизу вверх”:

x–5 = g(x)1+(x2–10x +25)(–x) =

= g(x)1+(f(x)+g(x)(–x–1))(–x) =

= f(x)(–x)+g(x)( x2+x+1).

Итак, НОД(f, g) = x–5 = f(x)(–x)+g(x)(x2+x+1) – искомое линейное разложение.

3

_ x4x – 1 | x2 – 2

x42x2 x2 + 2

_ _ 2x2x – 1

2x2 4

_ x22 | x + 3

x23x x–3

_ 3x 2

3x – 9

7 – НОД

.
Найти линейное разложение НОД(f, g), где f(x) = = x4x1, g(x) = x22.

Аналогично предыдущему:

f(x) = g(x)(x2+2)+(–x+3),

g(x) = (–x+3)(–x–3)+7

Последний шаг алгоритма Евклида приводить нет нужды, т.к. в нём произойдёт деление нацело. Поэтому

НОД(f, g) = 7 = g(x)1+(–x+3)(x+3) =

= g(x)1+(f(x)1+g(x)(–x2–2))(x+3) =

= f(x)(x+3)+g(x)(–x3–3x2–2x–5).

Итак, НОД(f, g) = 7 = f(x)(x+3)+g(x)(–x3–3x2–2x–5) – искомое линейное разложение.

Упражнения: 1. Вычислить линейное разложение НОД(f, g) для следующих многочленов:

а) f(x) = x4 + 1, g(x) = x2 – 1, б) f(x) = x2 – 3x +2, g(x) = x4 +x3 – 3x + 1,

в) f(x) = x6x2, g(x) = x3x, г) f(x) = x2 + 1, g(x) = x3 + x2 + 1.

2. Вычислить линейное разложение НОД(f, g) для следующих многочленов:

а) f(x) = x8 – 1, g(x) = x5x4 + x – 1, б) f(x) = x2 x 2, g(x) = x4 + 4.

3. Вычислить линейное разложение НОД(f, g) для f(x) = x2008 – 1, g(x) = x2007 – 1. А для f(x) = xn – 1, g(x) = xn–1 – 1 ?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]