AMKbook.Net Задачи должны иметь решение
Реклама

Схема Горнера

Схема Горнера – способ деления многочлена

\[P_n(x)=\sum\limits_{i=0}^{n}a_{i}x^{n-i}=a_{0}x^{n}+a_{1}x^{n-1}+a_{2}x^{n-2}+\ldots+a_{n-1}x+a_n\]

на бином \(x-a\). Работать придётся с таблицей, первая строка которой содержит коэффициенты заданного многочлена (они выделены для наглядности синим цветом). Первым элементом второй строки будет число \(a\), взятое из бинома \(x-a\):

\[ P_n(x)=\normblue{a_{0}}x^{n}+\normblue{a_{1}}x^{n-1}+\normblue{a_{2}}x^{n-2}+\ldots+\normblue{a_{n-1}}x+\normblue{a_n}\\ \]
\[ \begin{array} {c|c|c|c|c|c|c|c} & \normblue{a_0} & \normblue{a_1} & \normblue{a_2} & \normblue{a_3} & \ldots & \normblue{a_{n-1}} & \normblue{a_n} \\ \hline a & & & & & & & \end{array} \]

Вторая строка таблицы заполняется постепенно. Второй элемент этой строки (обозначим его \(b_0\)) равен \(a_0\), т.е., по сути, мы просто переносим вниз число \(a_0\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & a_0 & a_1 & a_2 & a_3 & \ldots & a_{n-1} & a_n \\ \hline a & b_0=a_0 & & & & & & \end{array} \]

Следующий элемент второй строки, который мы обозначим как \(b_1\), получается по такой формуле: \(b_1=a\cdot{b_0}+a_1\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & a_0 & a_1 & a_2 & a_3 & \ldots & a_{n-1} & a_n \\ \hline a & b_0 & b_1=a\cdot{b_0}+a_1 & & & & & \end{array} \]

Далее находим элемент \(b_2\) по формуле \(b_2=a\cdot{b_1}+a_2\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & a_0 & a_1 & a_2 & a_3 & \ldots & a_{n-1} & a_n \\ \hline a & b_0 & b_1 & b_2=a\cdot{b_1}+a_2 & & & & \end{array} \]

Аналогично вычисляем и элемент \(b_3=a\cdot{b_2}+a_3\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & a_0 & a_1 & a_2 & a_3 & \ldots & a_{n-1} & a_n \\ \hline a & b_0 & b_1 & b_2 & b_3=a\cdot{b_2}+a_3 & & & \end{array} \]

Далее находим \(b_4\), \(b_5\) и так далее. В целом, общая формула для вычисления \(b_i\), где \(i\ge{1}\), будет такой:

\[ b_i = a\cdot{b_{i-1}}+a_i \]

В конечном итоге, мы вычислим последний элемент \(b_n = a\cdot{b_{n-1}}+a_n\), и на этом работа будет закончена. Заполненная таблица будет иметь такой вид:

\[ \begin{array} {c|c|c|c|c|c|c|c} & a_0 & a_1 & a_2 & a_3 & \ldots & a_{n-1} & a_n \\ \hline a & b_0 & b_1 & b_2 & b_3 & \ldots & b_{n-1} & b_n \end{array} \]

После деления исходного многочлена n-ой степени \(P_n(x)\) на бином \(x-a\), получим многочлен, степень которого на единицу меньше исходного, т.е. равна \(n-1\). Последнее число второй строки, т.е. \(b_n\), есть остаток от деления \(P_n(x)\) на \(x-a\):

\[ a_{0}x^{n}+a_{1}x^{n-1}+a_{2}x^{n-2}+\ldots+a_{n-1}x+a_n =(x-a)\cdot\left(b_{0}x^{n-1}+b_{1}x^{n-2}+\ldots+b_{n-1}\right)+b_n \]

Если вспомнить теорему Безу, то можно сформулировать и так: число \(b_n\) равно значению многочлена \(P_n(x)\) при \(x=a\), т.е. \(b_n = P_n (a)\).

Если \(b_n=0\), то исходный многочлен делится на бином \(x-a\) нацело, т.е. число \(a\) является корнем этого многочлена. Непосредственное применение схемы Горнера проще всего показать на примерах.

Задача №1

Условие

Разделить \(5x^4+5x^3+x^2-11\) на \(x-1\), используя схему Горнера.

Решение

Для сокращения записи обозначим заданный многочлен как \(P(x)\), т.е. \(P(x)=5x^4+5x^3+x^2-11\). Для начала составим таблицу из двух строк. В первой строке запишем коэффициенты многочлена \(P(x)\), расположенные по убыванию степеней переменной \(x\). Заметьте, что данный многочлен не содержит \(x\) в первой степени, т.е. коэффициент перед \(x\) в первой степени равен 0:

\[ \normblue{5}\cdot{x^4}+\normblue{5}\cdot{x^3}+\normblue{1}\cdot{x^2}+\normblue{0}\cdot{x}+\normblue{(-11)}\\ \]

Так как мы делим на \(x-\normred{1}\), то в первой ячейке второй строки запишем число \(\normred{1}\). Таблица, с которой мы будем работать, имеет такой вид:

\[ \begin{array} {c|c|c|c|c|c} & \normblue{5} & \normblue{5} & \normblue{1} & \normblue{0} & \normblue{-11} \\ \hline \normred{1} & & & & & \end{array} \]

Начнём заполнять пустые ячейки во второй строке. Во вторую ячейку второй строки запишем число \(5\), просто перенеся его вниз из второй ячейки первой строки:

\[ \begin{array} {c|c|c|c|c|c} & \normgreen{5} & 5 & 1 & 0 & -11 \\ \hline 1 & \normgreen{5} & & & & \end{array} \]

Следующую ячейку заполним по такому принципу: \(\normred{1}\cdot\normgreen{5}+\normpurple{5}=\normblue{10}\):

\[ \begin{array} {c|c|c|c|c|c} & 5 & \normpurple{5} & 1 & 0 & -11 \\ \hline \normred{1} & \normgreen{5} & \normblue{10} & & & \end{array} \]

Аналогично заполним и четвертую ячейку второй строки: \(\normred{1}\cdot\normgreen{10}+\normpurple{1}=\normblue{11}\):

\[ \begin{array} {c|c|c|c|c|c} & 5 & 5 & \normpurple{1} & 0 & -11 \\ \hline \normred{1} & 5 & \normgreen{10} & \normblue{11} & & \end{array} \]

Для пятой ячейки получим: \(\normred{1}\cdot\normgreen{11}+\normpurple{0}=\normblue{11}\):

\[ \begin{array} {c|c|c|c|c|c} & 5 & 5 & 1 & \normpurple{0} & -11 \\ \hline \normred{1} & 5 & 10 & \normgreen{11} & \normblue{11} & \end{array} \]

И, наконец, для последней, шестой ячейки, имеем: \(\normred{1}\cdot\normgreen{11}+\normpurple{(-11)}=\normblue{0}\):

\[ \begin{array} {c|c|c|c|c|c} & 5 & 5 & 1 & 0 & \normpurple{-11} \\ \hline \normred{1} & 5 & 10 & 11 & \normgreen{11} &\normblue{0} \end{array} \]

Числа, расположенные во второй строке (между единицей и нулём), есть коэффициенты многочлена, полученного после деления \(P(x)\) на \(x-1\). Последнее число во второй строке (ноль) равно остатку от деления многочлена \(P(x)\) на \(x-1\). Остаток равен нулю, т.е. многочлен \(P(x)\) делится на \(x-1\) нацело. Для наглядности я запишу полученный результат, выделив коэффициенты разными цветами:

\[ \begin{array} {c|c|c|c|c|c} & 5 & 5 & 1 & 0 & -11 \\ \hline \normred{1} & \normblue{5} & \normblue{10} & \normblue{11} & \normblue{11} &\normgreen{0} \end{array} \]
\[ P(x) =(x-\normred{1})\cdot\left(\normblue{5}\cdot{x^4}+\normblue{10}\cdot{x^3}+\normblue{11}\cdot{x^2}+\normblue{11}\cdot{x}\right)+\normgreen{0} =(x-1)\left(5x^3+10x^2+11x+11\right) \]

Естественно, что так как степень исходного многочлена \(P(x)\) равнялась четырём, то степень многочлена \(5x^3+10x^2+11x+11\) на единицу меньше, т.е. равна трём.

Полученный нами результат можно ещё охарактеризовать так: значение многочлена \(P(x)\) при \(x=1\) равно нулю. Так как значение многочлена \(P(x)\) при \(x=1\) равно нулю, то единица является корнем многочлена \(P(x)\).

Ответ:
\[5x^4+5x^3+x^2-11 = (x-1)\left(5x^3+10x^2+11x+11\right)\]

Задача №2

Условие

Разделить многочлен \(x^4+3x^3+4x^2-5x-47\) на \(x+3\) по схеме Горнера.

Решение

Для сокращения записи обозначим заданный многочлен как \(P(x)\), т.е. \(P(x)=x^4+3x^3+4x^2-5x-47\). Сразу оговорим, что выражение \(x+3\) нужно представить в форме \(x-(-3)\). В схеме Горнера будет учавствовать именно \(-3\). Выполняем преобразования, аналогичные сделанным в задаче №1:

\[ \begin{array} {c|c|c|c|c|c} & 1 & 3 & 4 & -5 & -47 \\ \hline -3 & 1 & 0 & 4 & -17 & 4 \end{array} \]

Так как степень исходного многочлена \(P(x)\) равна четырём, то в результате деления получим многочлен третьей степени.

\[P(x)=(x+3)\left(x^3+0\cdot x^2 +4x-17\right)+4=(x+3)\left(x^3+4x-17\right)+4\]

Полученный результат означает, что многочлен \(P(x)\) делится на бином \(x+3\) не нацело. Остаток от деления \(P(x)\) на \(x+3\) равен \(4\). Этот же результат означает, что значение многочлена \(P(x)\) при \(x=-3\) равно \(4\), т.е. \(P(-3)=4\). Кстати, это несложно перепроверить непосредственной подстановкой \(x=-3\) в заданный многочлен:

\[ x^4+3x^3+4x^2-5x-47=(-3)^4+3 \cdot (-3)^3-5 \cdot (-3)-47=4. \]

Т.е. схему Горнера можно также использовать, если необходимо найти значение многочлена при заданном значении переменной.

Ответ:
\[x^4+3x^3+4x^2-5x-47=(x+3)\left(x^3+4x-17\right)+4\]

Если наша цель – найти все корни многочлена, то схему Горнера можно применять несколько раз подряд, – до тех пор, пока мы не исчерпаем все корни, как рассмотрено в задаче №3.

Задача №3

Условие

Найти все целочисленные корни многочлена \(x^6+2x^5-21x^4-20x^3+71x^2+114x+45\), используя схему Горнера.

Решение

Для сокращения записи обозначим заданный многочлен как \(P(x)\), т.е.

\[P(x)=x^6+2x^5-21x^4-20x^3+71x^2+114x+45\]

Коэффициенты рассматриваемого многочлена есть целые числа, а коэффициент перед старшей степенью переменной (т.е. перед \(x^6\)) равен единице. В этом случае целочисленные корни многочлена нужно искать среди делителей свободного члена, т.е. среди делителей числа 45. Для заданного многочлена такими корнями могут быть числа \(45; \; 15; \; 9; \; 5; \; 3; \; 1\) и \(-45; \; -15; \; -9; \; -5; \; -3; \; -1\). Проверим, к примеру, число \(1\):

Таблица №1

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline 1 & 1 & 3 & -18 & -38 & 33 & 147 & 192 \end{array} \]

Как видите, значение многочлена \(P(x)\) при \(x=1\) равно \(192\) (последнее число в второй строке), а не \(0\), посему единица не является корнем данного многочлена. Так как проверка для единицы окончилась неудачей, проверим значение \(x=-1\). Новую таблицу составлять не будем, а продолжим использование табл. №1, дописав в нее новую (третью) строку. Вторую строку, в которой проверялось значение \(1\), выделим красным цветом и в дальнейших рассуждениях использовать её не будем.

Можно, конечно, просто переписать таблицу заново, но при заполнении вручную это займет немало времени. Тем более, что чисел, проверка которых окончится неудачей, может быть несколько, и каждый раз записывать новую таблицу затруднительно. При вычислении «на бумаге» красные строки можно просто вычёркивать.

Таблица №2

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \end{array} \]

Итак, значение многочлена \(P(x)\) при \(x=-1\) равно нулю, т.е. \(P(-1)=0\). Это значит, что число \(-1\) есть корень многочлена \(P(x)\). После деления многочлена \(P(x)\) на бином \(x-(-1)=x+1\) получим многочлен \(x^5+x^4-22x^3+2x^2+69x+45\), коэффициенты которого взяты из третьей строки табл. №2. Результат вычислений можно также представить в такой форме:

\[ \begin{equation} P(x)=(x+1)\left(x^5+x^4-22x^3+2x^2+69x+45\right) \end{equation} \]

Продолжим поиск целочисленных корней. Теперь уже нужно искать корни многочлена \(x^5+x^4-22x^3+2x^2+69x+45\). Опять-таки, целочисленные корни этого многочлена ищут среди делителей его свободного члена, – числа \(45\). Попробуем ещё раз проверить число \(-1\). Новую таблицу составлять не будем, а продолжим использование предыдущей табл. №2, т.е. допишем в нее еще одну строку:

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \end{array} \]

Итак, число \(-1\) является корнем многочлена \(x^5+x^4-22x^3+2x^2+69x+45\). Этот результат можно записать так:

\[ \begin{equation} x^5+x^4-22x^3+2x^2+69x+45=(x+1)\left(x^4-22x^2+24x+45\right) \end{equation} \]

Учитывая равенство (2), равенство (1) можно переписать в такой форме:

\[ \begin{equation} P(x)=(x+1)\left(x^5+x^4-22x^2+2x^2+69x+45\right)=\\ =(x+1)(x+1)\left(x^4-22x^2+24x+45\right) =(x+1)^2\left(x^4-22x^2+24x+45\right) \end{equation} \]

Теперь уже нужно искать корни многочлена \(x^4-22x^2+24x+45\), – естественно, среди делителей его свободного члена (числа \(45\)). Проверим еще раз число \(-1\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \\ \hline -1 & 1 & -1 & -21 & 45 & 0 & & \end{array} \]

Число \(-1\) является корнем многочлена \(x^4-22x^2+24x+45\). Этот результат можно записать так:

\[ \begin{equation} x^4-22x^2+24x+45=(x+1)\left(x^3-x^2-21x+45\right) \end{equation} \]

С учетом равенства (4), равенство (3) перепишем в такой форме:

\[ \begin{equation} P(x)=(x+1)^2\left(x^4-22x^3+24x+45\right)=\\ =(x+1)^2(x+1)\left(x^3-x^2-21x+45\right) =(x+1)^3\left(x^3-x^2-21x+45\right) \end{equation} \]

Теперь ищем корни многочлена \(x^3-x^2-21x+45\). Проверим еще раз число \(-1\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \\ \hline -1 & 1 & -1 & -21 & 45 & 0 & & \\ \hline -1 & 1 & -2 & -19 & 64 & & & \end{array} \]

Проверка окончилась неудачей. Выделим шестую строку красным цветом и попробуем проверить иное число, например, число \(3\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \\ \hline -1 & 1 & -1 & -21 & 45 & 0 & & \\ \hline \normred{-1} & \normred{1} & \normred{-2} & \normred{-19} & \normred{64} & & & \\ \hline 3 & 1 & 2 & -15 & 0 & & & \end{array} \]

В остатке ноль, посему число \(3\) – корень рассматриваемого многочлена. Итак,

\[x^3-x^2-21x+45=(x-3)\left(x^2+2x-15\right)\]

Теперь равенство (5) можно переписать так:

\[ \begin{equation} P(x)=(x+1)^3\left(x^3-x^2-21x+45\right) =(x+1)^3(x-3)\left(x^2+2x-15\right) \end{equation} \]

Проверим ещё раз число \(3\):

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \\ \hline -1 & 1 & -1 & -21 & 45 & 0 & & \\ \hline \normred{-1} & \normred{1} & \normred{-2} & \normred{-19} & \normred{64} & & & \\ \hline 3 & 1 & 2 & -15 & 0 & & & \\ \hline 3 & 1 & 5 & 0 & & & & \end{array} \]

Полученный результат можно записать так (это продолжение равенства (6)):

\[ \begin{equation} P(x)=(x+1)^3(x-3)\left(x^2+2x-15\right) =(x+1)^3(x-3)(x-3)(x+5) =(x+1)^3(x-3)^2(x+5) \end{equation} \]

Из последней скобки видно, что число \(-5\) также является корнем данного многочлена. Можно, конечно, формально продолжить схему Горнера, проверив значение \(x=-5\), но необходимости в этом нет. Итак,

\[ P(x)=(x+1)^3(x-3)\left(x^2+2x-15\right)=(x+1)^3(x-3)^2(x+5)\]

Числа \(-1\), \(3\), \(-5\) – корни данного многочлена. Причем, так как скобка \((x+1)\) в третьей степени, то \(-1\) – корень третьего порядка; так как скобка \((x-3)\) во второй степени, то \(3\) – корень второго порядка; так как скобка \((x+5)\) в первой степени, то \(x=-5\) – корень первого порядка (простой корень).

Вообще, обычно оформление таких примеров состоит из таблицы, в которой перебираются возможные варианты корней, и ответа:

\[ \begin{array} {c|c|c|c|c|c|c|c} & 1 & 2 & -21 & -20 & 71 & 114 & 45 \\ \hline \normred{1} & \normred{1} & \normred{3} & \normred{-18} & \normred{-38} & \normred{33} & \normred{147} & \normred{192}\\ \hline -1 & 1 & 1 & -22 & 2 & 69 & 45 & 0 \\ \hline -1 & 1 & 0 & -22 & 24 & 45 & 0 & \\ \hline -1 & 1 & -1 & -21 & 45 & 0 & & \\ \hline \normred{-1} & \normred{1} & \normred{-2} & \normred{-19} & \normred{64} & & & \\ \hline 3 & 1 & 2 & -15 & 0 & & & \\ \hline 3 & 1 & 5 & 0 & & & & \end{array} \]

Из таблицы следует вывод, полученный нами ранее с подробным решением:

\[ P(x)=(x+1)^3(x-3)\left(x^2+2x-15\right)=(x+1)^3(x-3)^2(x+5)\]
Ответ:

\(-1\), \(3\), \(-5\).

Задача №4

Условие

Убедиться, что числа \(2\) и \(-5\) являются корнями многочлена \(3x^6+9x^5-28x^4+6x^3-30x^2-30x+100\). Разделить заданный многочлен на биномы \(x-2\) и \(x+5\).

Решение

Как и ранее, для сокращения записи обозначим заданный многочлен как \(P(x)\), т.е.

\[P(x)=3x^6+9x^5-28x^4+6x^3-30x^2-30x+100\]

Степень многочлена \(P(x)\) равна \(6\). После деления на два заданных бинома степень заданного многочлена уменьшится на \(2\), т.е. станет равна \(4\).

\[ \begin{array} {c|c|c|c|c|c|c|c} & 3 & 9 & -28 & 6 & -30 & -30 & 100 \\ \hline \normblue{2} & 3 & 15 & 2 & 10 & -10 & -50 & 0 \\ \hline \normpurple{-5} & \normgreen{3} & \normgreen{0} & \normgreen{2} & \normgreen{0} & \normgreen{-10} & 0 & \end{array} \]
\[ P(x)=(x-\normblue{2})\cdot(x-(\normpurple{-5}))\cdot\left(\normgreen{3}\cdot{x^4}+\normgreen{0}\cdot{x^3}+\normgreen{2}\cdot{x^2} + \normgreen{0}\cdot{x} + (\normgreen{-10})\right) =(x-2)(x+5)\left(3x^4+2x^2-10\right) \]

Конечно, данный метод подбора малоэффективен в общем случае, когда корни не являются целыми числами, но для целочисленных корней метод довольно-таки неплох.