§ 3.8. Разложение на множители 177
заданной степени k. В случае k = 1 этот алгоритм уже был изложен в за
-
даче 11 из § 3.2. Можно считать, что k 6 n
/
2, так как в случае k > n
/
2
вместо g можно искать h = f
/
g, deg h = n −k < n
/
2.
Пусть такой делитель существует. Согласно теореме 84 можно пола
-
гать, что f, g, h = f
/
g ∈Z [x]. Возьмем произвольный набор различных
целых чисел {a
0
, ..., a
k
} и вычислим f(a
i
) ∈Z, i = 0, ..., k. Тогда
g(a
i
), h(a
i
) ∈Z, f(a
i
) = g(a
i
)h(a
i
), i = 0, . .., k,
поэтому g(a
i
) | f(a
i
), i = 0, ..., k. Для каждого числа f(a
i
), i = 0, ..., k
составим список D
i
всех его целых делителей.
Для каждого i выберем d
i
∈D
i
и, решив задачу интерполяции, нахо
-
дим многочлен g
j
∈Q[x]. Если g
j
∈Z[x], то проверяем, делится ли f(x)
на g
j
(x). Если нет, то выбираем другой набор значений
(d
0
, d
1
, ..., d
k
) ∈D
0
×... ×D
k
,
и для него повторяем ту же процедуру, пока не найдем делитель. В случае
неудачи можно сделать вывод об отсутствии делителя степени k и перейти
к поиску делителя степени k + 1 и т. д. Если делитель не будет найден,
значит, многочлен неприводим.
Очевидно, что перебор вариантов
(d
0
, d
1
, ..., d
k
) ∈D
0
×... ×D
k
можно ограничить только наборами с НОД, равным единице, причем d
0
можно выбирать только положительным.
Чтобы уменьшить этот перебор, можно выбирать множество {a
0
, ...
... , a
k
} так, чтобы числа f(a
i
) ∈Z, i = 0, ..., k, имели бы по возможности
меньшее число различных делителей, например, были бы простыми чис
-
лами или еще лучше плюс
-
минус единицами. С целью упрощения даль
-
нейшей интерполяции удобно выбирать числа {a
0
, . . ., a
k
} по возможности
малыми, в лучшем случае брать {a
0
, ..., a
k
} = {0, ±1, ±2, ...}. Можно
пользоваться интерполяционными формулами как Ньютона, так и Ла
-
гранжа.
Упражнение 76. Разложите на множители многочлен
2x
5
+ 8x
4
−7x
3
−35x
2
+ 12x −1.
У к а з а н и е. Находим, что f(0) = −1, f(2) = 19, f(−3) = −1. Тогда
d
0
= 1; d
1
= ±1, ±19; d
2
= ±1.
Ищем g(x) в виде c
0
+ c
1
x + c
2
x(x −2). Тогда
c
0
= 1, 1 + 2c
1
= d
1
, 1 −3c
1
+ 15c
2
= d
2
= ±1,
12 Гашков