Перейти к содержимому
RanimusВетвь разума

Теорема Безу и схема Горнера

Деление многочленов, поиск корней, остатки и эффективные вычисления коэффициентов.

ДоступнаСложность: ★★★★☆Время: 65 минЗа прохождение: 150 (с первой попытки 180)★ углублённый
Пройти тест Пропустить тему

Пожаловаться

Зачем это нужно

Деление многочлена «уголком» надёжно, но громоздко: много записей, легко ошибиться в знаках. Когда делитель имеет вид x−ax - a, есть гораздо более быстрый способ — схема Горнера. Она за несколько секунд даёт и частное, и остаток, то есть значение P(a)P(a) по теореме Безу. Поэтому схема Горнера — главный инструмент при решении уравнений высших степеней: перебираем кандидатов в корни, находим корень и сразу понижаем степень. Тот же алгоритм используют компьютеры, вычисляя значения многочленов за минимальное число операций.

Идея схемы Горнера

Запишем многочлен «вложенными скобками»:

a3x3+a2x2+a1x+a0=((a3x+a2)x+a1)x+a0.a_3x^3 + a_2x^2 + a_1x + a_0 = ((a_3x + a_2)x + a_1)x + a_0.

Чтобы вычислить значение при x=ax = a, достаточно последовательно «умножать на aa и прибавлять следующий коэффициент». Для многочлена степени nn нужно всего nn умножений вместо примерно n22\frac{n^2}{2} при прямом счёте. Промежуточные результаты оказываются коэффициентами частного от деления на x−ax - a, а последний результат — остатком, то есть P(a)P(a).

Таблица Горнера

Таблица Горнера для 2x³ − 3x² − 3x + 2 и a = 2: верхняя строка 2, −3, −3, 2; нижняя 2, 1, −1, 0; стрелки показывают шаг «умножь на a и прибавь»

Алгоритм:

  1. Выпишите все коэффициенты по убыванию степеней, включая нули.
  2. Первый коэффициент снесите вниз.
  3. Каждое следующее число нижней строки: предыдущее нижнее ×a\times a + верхнее над ним.
  4. Последнее число — остаток P(a)P(a), остальные — коэффициенты частного (степень на 1 меньше).

Разобранный пример 1

Вычислите P(3)P(3) для P(x)=2x4−3x3+x−7P(x) = 2x^4 - 3x^3 + x - 7.

Коэффициенты: 2, −3, 0, 1, −7. Нижняя строка: 22; 2⋅3−3=32 \cdot 3 - 3 = 3; 3⋅3+0=93 \cdot 3 + 0 = 9; 9⋅3+1=289 \cdot 3 + 1 = 28; 28⋅3−7=7728 \cdot 3 - 7 = 77. Ответ: P(3)=77P(3) = 77. Проверка напрямую: 162−81+3−7=77162 - 81 + 3 - 7 = 77.

Разобранный пример 2

Разделите x4−5x2+4x^4 - 5x^2 + 4 на x−2x - 2.

Коэффициенты 1, 0, −5, 0, 4 (нули обязательны!). Нижняя строка: 1, 2, −1, −2, 0. Частное x3+2x2−x−2x^3 + 2x^2 - x - 2, остаток 0.

Уравнения высших степеней

План: выписать делители свободного члена → проверять их схемой Горнера → найдя корень, перейти к частному → повторять, пока не останется квадратное уравнение.

Как сократить перебор. Делителей свободного члена бывает много. Полезно сначала проверить самые простые кандидаты ±1\pm 1: P(1)P(1) равно сумме коэффициентов, а P(−1)P(-1) — сумме коэффициентов при чётных степенях минус сумма при нечётных. Если все коэффициенты положительны, положительных корней нет, и можно проверять только отрицательные числа. А если P(a)P(a) и P(b)P(b) разных знаков, то между aa и bb есть корень: это помогает понять, где искать.

Разобранный пример 3

Решите x4−2x3−7x2+8x+12=0x^4 - 2x^3 - 7x^2 + 8x + 12 = 0.

  1. Делители 12: ±1,±2,±3,±4,±6,±12\pm 1, \pm 2, \pm 3, \pm 4, \pm 6, \pm 12.
  2. a=−1a = -1: строка 1, −3, −4, 12, 0 — корень. Частное x3−3x2−4x+12x^3 - 3x^2 - 4x + 12.
  3. a=2a = 2: строка 1, −1, −6, 0 — корень. Частное x2−x−6x^2 - x - 6.
  4. x2−x−6=0x^2 - x - 6 = 0: x=3x = 3 или x=−2x = -2.

Ответ: −2;−1;2;3-2; -1; 2; 3.

Разобранный пример 5 (дробный корень)

Решите 2x3−x2−2x+1=02x^3 - x^2 - 2x + 1 = 0.

  1. Кандидаты: ±1,±12\pm 1, \pm\frac{1}{2}. Проверим a=12a = \frac{1}{2}: строка 2, 0, −2, 0.
  2. Частное 2x2−2=2(x2−1)2x^2 - 2 = 2(x^2 - 1), его корни ±1\pm 1.
  3. Ответ: −1;12;1-1; \frac{1}{2}; 1.

Схема Горнера одинаково хорошо работает и с целыми, и с дробными aa.

Задачи с параметрами

Разобранный пример 6

При каких aa и bb многочлен x3+ax2+bx−6x^3 + ax^2 + bx - 6 делится на (x−1)(x−2)(x - 1)(x - 2)?

  1. По теореме Безу P(1)=0P(1) = 0 и P(2)=0P(2) = 0: 1+a+b−6=01 + a + b - 6 = 0 и 8+4a+2b−6=08 + 4a + 2b - 6 = 0.
  2. Система: a+b=5a + b = 5, 2a+b=−12a + b = -1, откуда a=−6a = -6, b=11b = 11.
  3. Получился многочлен x3−6x2+11x−6=(x−1)(x−2)(x−3)x^3 - 6x^2 + 11x - 6 = (x - 1)(x - 2)(x - 3).

Кратные корни

Если после деления на x−ax - a частное снова делится на x−ax - a, корень aa кратный.

Разобранный пример 4

Найдите кратность корня 1 у x3−3x+2x^3 - 3x + 2.

Первое деление: 1, 1, −2, 0. Второе (частного x2+x−2x^2 + x - 2 на x−1x - 1): 1, 2, 0. Третье (x+2x + 2 на x−1x - 1) даёт остаток 3. Значит, x3−3x+2=(x−1)2(x+2)x^3 - 3x + 2 = (x - 1)^2(x + 2), и корень 1 — двукратный. На графике в такой точке кривая касается оси xx, а не пересекает её.

Немного истории

Схему назвали в честь английского математика Уильяма Горнера, опубликовавшего её в 1819 году. Но тот же приём за 600 лет до него описал китайский математик Цинь Цзюшао, а ещё раньше подобные вычисления встречались в «Математике в девяти книгах». Сегодня это стандартный алгоритм вычисления многочленов во всех языках программирования.

Типичные ошибки

  • Пропускать нулевые коэффициенты.
  • Брать aa с неверным знаком: при делении на x+3x + 3 нужно a=−3a = -3.
  • Забывать, что степень частного на единицу меньше.
  • Искать корни среди делителей старшего коэффициента.
  • Не проверять кратность найденного корня.

Что дальше