Вычисление многочлена по схеме горнера примеры. Уравнения в высшей математике.Рациональные корни многочленов. Схема Горнера. Смотреть что такое "Схема Горнера" в других словарях

1.1 Общее описание алгоритма

1.1.1 Решаемая задача

Первая оценка выполняется на основе характеристики daps, которая оценивает число выполненных обращений (чтений и записей) в память в секунду. Данная характеристика является аналогом оценки flops применительно к работе с памятью и является в большей степени оценкой производительности взаимодействия с памятью, чем оценкой локальности. Однако она служит хорошим источником информации, в том числе для сравнения с результатами по следующей характеристике cvg.

На рис.4 приведены значения daps для реализаций распространенных алгоритмов, отсортированные по возрастанию (чем больше daps, тем в общем случае выше производительность). Согласно данному рисунку, реализация схемы Горнера показывает низкую производительность работы с памятью. Может показаться странным, что значение daps в этом случае значительно меньше, чем для тестов STREAM, несмотря на то, что профиль обращений во всех случаях очень похож – несколько одновременно выполняемых последовательных переборов массивов.

Причина такого поведения связана с особенностями строения подсистемы памяти. В реализации схемы Горнера, как было отмечено выше, к элементам одного из массивов выполняется по два обращения подряд. Однако если посмотреть исходный код реализации, можно увидеть, что на самом деле второе обращение выполняется на следующей итерации – это обращение к предыдущему элементу:

for (int i = 1 ; i < size ; i ++ ) { c [ i ] = a [ i ] + c [ i - 1 ] * x ; }

В результате из-за зависимости итераций аппаратный префетчер гораздо хуже справляется с подтягиванием требуемых кэш-строк, что приводит к заметному замедлению выполнения программы по сравнению с другими реализациями, основанными на последовательном переборе (например, тесты STREAM).

Подобный пример лишний раз показывает, насколько сложно утроена подсистема памяти – совсем небольшое изменение строения тела цикла приводит к достаточно неожиданному серьезному замедлению программы.

Рисунок 4. Сравнение значений оценки daps

Вторая характеристика – cvg – предназначена для получения более машинно-независимой оценки локальности. Она определяет, насколько часто в программе необходимо подтягивать данные в кэш-память. Соответственно, чем меньше значение cvg, тем реже это нужно делать, тем лучше локальность.

На рис.5 приведены значения cvg для того же набора реализаций, отсортированные по убыванию (чем меньше cvg, тем в общем случае выше локальность). Можно увидеть, что реализация схема Горнера обладает очень высокой локальностью согласно оценке cvg.

Рисунок 5. Сравнение значений оценки cvg

Как мы видели ранее, это плохо соотносится с реальной производительностью работы с памятью из-за особенностей строения памяти. Однако здесь необходимо сделать два замечания. Во-первых, подобные случаи, когда производительность работы с памятью настолько сильно зависит от специфичных аппаратных особенностей строения подсистемы памяти, на практике встречаются не так часто. Во-вторых, cvg предназначена для получения машинно-независимой оценки локальности; на данном уровне учесть подобные аппаратные особенности, по крайней мере, без потери доли машинно-независимых свойств, вряд ли представляется возможным.

2.3 Возможные способы и особенности параллельной реализации алгоритма

Описываемый алгоритм не предполагает параллельной реализации.

2.4 Масштабируемость алгоритма и его реализации

Понятие масштабируемости неприменимо, поскольку описываемый алгоритм не предполагает параллельной реализации. Проведём исследование масштабируемости вширь реализации алгоритма согласно методике . Исследование проводилось на суперкомпьютере "Ломоносов" Суперкомпьютерного комплекса Московского университета . Набор и границы значений изменяемых параметров запуска реализации алгоритма:

  • число процессоров 1;
  • размер области с шагом 10240.

В результате проведённых экспериментов был получен следующий диапазон эффективности реализации алгоритма:

  • минимальная эффективность реализации 0.0324%;
  • максимальная эффективность реализации 0.0331%.

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

Рисунок 6. Реализация алгоритма. Изменение производительности в зависимости от размера вектора.

Рисунок 7. Реализация алгоритма. Изменение эффективности в зависимости от размера вектора.

Мизерная эффективность, по-видимому, связана с избыточной локальностью, описанной в разделе о .

2.5 Динамические характеристики и эффективность реализации алгоритма

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

Для проведения экспериментов использовалась реализация алгоритма схемы Горнера, в реализации, доступной . Все результаты получены на суперкомпьютере "ГрафИТ!". Использовались процессоры Intel Xeon X5570 с пиковой производительностью в 94 Гфлопс, а также компилятор Gnu 4.4.7. На рисунках показана эффективность реализации алгоритма встречной прогонки.

Слайд 3

Горнер Вильямc Джордж (1786-22.9.1837)-английский математик. Родился в Бристоле. Учился и работал там же, затем в школах Бата. Основные труды по алгебре. В 1819г. опубликовал способ приближенного вычисления вещественных корней многочлена, который называется теперь способом Руффини-Горнера (этот способ был известен китайцам еще в XIII в.) Именем Горнера названа схема деления многочлена на двучлен х-а.

Слайд 4

СХЕМА ГОРНЕРА

Способ деления многочлена n-й степени на линейный двучленх - а, основанный на том, что коэффициенты неполного частного и остатокr связаны с коэффициентами делимого многочлена и с а формулами:

Слайд 5

Вычисления по схеме Горнера располагают в таблицу:

Пример 1. Разделить Неполное частное равно х3-х2+3х - 13 и остаток равен 42=f(-3).

Слайд 6

Основным преимуществом этого метода является компактность записи и возможность быстрого деления многочлена на двучлен. По сути, схема Горнера является другой формой записи метода группировки, хотя, в отличие от последнего, является совершенно ненаглядной. Ответ (разложение на множители) тут получается сам собой, и мы не видим самого процесса его получения. Мы не будем заниматься строгим обоснованием схемы Горнера, а лишь покажем, как она работает.

Слайд 7

Пример2.

Докажем, что многочлен Р(х)=х4-6х3+7х-392 делится на х-7,и найдем частное от деления. Решение. Используя схему Горнера, найдем Р(7): Отсюда получаем Р(7)=0, т.е. остаток при делении многочлена на х-7 равен нулю и, значит, многочлен Р(х) кратен (х-7).При этом числа во второй строке таблицы являются коэффициентами частного от деления Р(х) на (х-7), поэтому Р(х)=(х-7)(х3+х2+7х+56).

Слайд 8

Разложить на множители многочлен x3 – 5x2 – 2x + 16.

Данный многочлен имеет целые коэффициенты. Если целое число является корнем этого многочлена, то оно является делителем числа 16. Таким образом, если у данного многочлена есть целые корни, то это могут быть только числа ±1; ±2; ±4; ±8; ±16. Непосредственной проверкой убеждаемся, что число 2 является корнем этого многочлена, то есть x3 – 5x2 – 2x + 16 = (x – 2)Q(x), где Q(x) − многочлен второй степени

Слайд 9

Полученные числа 1, −3, −8 являются коэффициентами многочлена, который получается при делении исходного многочлена на x – 2. Значит, результат деления: 1 · x2 + (–3)x + (–8) = x2 – 3x – 8. Степень многочлена, полученного в результате деления, всегда на 1 меньше, чем степень исходного. Итак: x3 – 5x2 – 2x + 16 = (x – 2)(x2 – 3x – 8).

Алгоритмы , Математика

Вычисление значения многочлена в точке является одной из простейших классических задач программирования.
При проведении различного рода вычислений часто приходится определять значения многочленов при заданных значениях аргументов. Часто приближенное вычисление функций сводится к вычислению аппроксимирующих многочленов.
Рядового читателя Хабрахабр нельзя назвать неискушенным в применении всяческих извращений. Каждый второй скажет, что многочлен надо вычислять по правилу Горнера . Но всегда есть маленькое «но», всегда ли схема Горнера является самой эффективной?



Я не ставлю цель точно описать алгоритмы для вычисления многочленов, а лишь показать, что в некоторых случаях можно (нужно) применять схемы отличные правила Горнера. Для тех, кого заинтересует материал, в конце статьи приведен список литературы, с которой можно ознакомиться для более детального изучения вопроса.
Кроме того, иногда становиться обидно, что фамилии наших русских математиков остаются малоизвестными. К тому же мне просто приятно рассказать о работах наших математиков.

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

При вычислении значений многочленов очень широкое применение получило правило Горнера. Метод назван в честь британского математика Уильяма Джорджа Горнера.
В соответствии с этим правилом многочлен n-й степени:

представляется в виде

Вычисление значения многочлена производится в порядке, определяемом скобками. Что имеем? Чтобы вычислить многочлен по схеме Горнера, надо выполнить n умножений и n-k сложений (здесь k – число коэффициентов многочлена, равных 0). Если , то умножений будет n-1.
Можно показать, что для вычисления многочленов, общего вида нельзя построить схему более экономичную по числу операций, чем схема Горнера.
Самая большая привлекательность схемы Горнера состоит в простоте алгоритма для вычисления значения многочлена.

Исключения

При вычислении многочленов специального вида может потребоваться меньшее число операций, чем при применении универсальной схемы Горнера. Например, вычисление степени по схеме Горнера означает последовательное перемножение n множителей и требует n-1 умножение. Однако каждый первый читатель скажет, что для вычисления, например, нужно последовательно вычислить , , , т.е. выполнить всего 3 умножения вместо 7.

А есть что-то еще, ведь схема Горнера самая экономичная?

На самом деле все решают объемы вычислений. Если надо вычислить одно значение многочлена, то лучше схемы Горнера ничего не придумано. Но если значения многочлена вычисляются во многих точках, то появляется возможность сэкономить большое число операций умножения за счет предварительных вычислений, выполняемых ровно один раз. Это может значительно ускорить работу программы.

В некоторых случаях для получения значений полиномов целесообразно использовать двухэтапные схемы. На первом этапе выполняются действия только над коэффициентами многочлена, он преобразуется к специальному виду. На втором же этапе вычисляют уже значение самого многочлена при заданных значениях аргумента. При этом может оказаться, что количество операций, выполняемых на втором этапе будет меньше, чем при вычислениях по схеме Горнера.

Снова замечу, что такие методы вычислений целесообразны при вычислении значений многочлена для большого числа значений x. Выигрыш получается, за счет того, что первый этап для многочлена выполняется лишь один раз. Примером может послужить вычисление элементарных функций, где приближающий многочлен готовиться заранее.

В дальнейших рассуждениях, говоря о количестве операций для вычисления , я буду иметь в виду сложность второго этапа вычислений.

Схема Дж.Тодта для многочленов 6 степени

Имеем следующий многочлен:
Для вычислений используем следующие вспомогательные многочлены:

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

Саму систему, здесь приводить не буду. Но она легко решается методом подстановок, при этом приходится решать квадратные уравнения. Коэффициенты могут получиться комплексными, но если коэффициенты оказываются действительными, то вычисления требуют трех умножений и семи сложений вместо пяти умножений и шести сложений по схеме Горнера.

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

Схема Ю.Л. Кеткова

Наконец-то, добрался и до наших математиков.

Ю.Л. Кетков дал общее представление многочлена n-й степени для n>5, всегда приводящее к действительным выражениям и требующее для вычисления многочлене n-й степени выполнения [(n+1)/2]+ умножений и n+1 сложений.

Например, при n=2k схема Кеткова сводится к нахождению многочленов:






где , при k –четном, и , , если k нечетное (k>2).

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

Схемы В.Я. Пана

Э. Белага в своих работах дал строгое доказательство невозможности построения схемы вычисления произвольных многочленов n-й степени, использующей на втором этапе меньше, чем [(n+1)/2]+1 умножений и n сложений.

В.Я. Пан занимался вопросами оптимального вычисления многочленов. В частности, им предложено несколько схем для вычисления действительных многочленов, которые весьма близко подобрались к оценкам Э. Белаги. Приведу некоторые схемы Пана для действительных многочленов.
1. Схема для вычисления многочленов четвертой степени.
Рассматривается многочлен .

Представим в виде:



где

2. Схема для вычисления , .
Строим вспомогательные многочлены , , :
, s=1,2,…,k.

Для вычисления значения многочлена используем выражения:

Эта схема на втором этапе требует умножения и сложения.

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

У В.Я. Пана существуют и другие схемы для вычисления многочленов, в том числе и для комплексных.

Заключение

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

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

Некоторые читатели скажут, что возиться с применением схем, отличных от схемы Горнера, сложно, муторно и не стоит с этим связываться. Однако в реальной жизни встречаются задачи, в которых требуется вычислять просто огромное число значений многочленов с большими степенями (например, на их вычисление могут уходить месяцы), и уменьшение числа умножений в два раза даст существенный выигрыш во времени, даже если вам придется потратить пару дней на реализацию конкретной схемы для вычисления многочленов.

Литература

  1. Кетков Ю.Л. Об одном способе вычисления полиномов на математических машинах. // Известия ВУЗ"ов. Радиофизика, т.1., № 4, 1958
  2. В. Я. Пан, “Вычисление многочленов по схемам с предварительной обработкой коэффициентов и программа автоматического нахождения параметров”, Ж. вычисл. матем. и матем. физ., 2:1 (1962), 133–140
  3. В. Я. Пан, “О способах вычисления значений многочленов”, УМН, 21:1(127) (1966), 103–134
  4. В. Я. Пан, “О вычислении многочленов пятой и седьмой степени с вещественными коэффициентами”, Ж. вычисл. матем. и матем. физ., 5:1 (1965), 116–118
  5. Пан В. Я. Некоторые схемы для вычисления значений полиномов с вещественными коэффициентами. Проблемы кибернетики. Вып. 5. М.: Наука, 1961, 17–29.
  6. Белага Э. Г. О вычислении значений многочлена от одного переменного с предварительной обработкой коэффициентов. Проблемы кибернетики. Вып. 5. М.: Физматгиз, 1961, 7–15.

Вы можете помочь и перевести немного средств на развитие сайта








Назад Вперёд

Внимание! Предварительный просмотр слайдов используется исключительно в ознакомительных целях и может не давать представления о всех возможностях презентации. Если вас заинтересовала данная работа, пожалуйста, загрузите полную версию.

Тип урока : Урок усвоения и закрепления первичных знаний.

Цель урока:

  • Ознакомить учеников с понятием корней многочлена, научить находить их. Усовершенствовать навыки применения схемы Горнера по разложению многочлена по степеням и деления многочлена на двучлен.
  • Научиться находить корни уравнения с помощью схемы Горнера.
  • Развивать абстрактное мышление.
  • Воспитывать вычислительную культуру.
  • Развитие межпредметных связей.

Ход урока

1. Организационный момент.

Сообщить тему урока, сформулировать цели.

2. Проверка домашнего задания.

3. Изучение нового материала.

Пусть F n (x)= a n x n +a n-1 x n-1 +...+ a 1 x +a 0 - многочлен относительно x степени n, где a 0 , a 1 ,...,a n –данные числа, причем a 0 не равно 0. Если многочлен F n (x) разделить с остатком на двучлен x-a, то частное (неполное частное) есть многочлен Q n-1 (x) степени n-1, остаток R есть число, при этом справедливо равенство F n (x)=(x-a) Q n-1 (x) +R. Многочлен F n (x) делится нацело на двучлен (x-a) только в случае R=0.

Теорема Безу: Остаток R от деления многочлена F n (x) на двучлен (x-a) равен значению многочлена F n (x) при x=a, т.е. R= P n (a).

Немного истории. Теорема Безу, несмотря на внешнюю простоту и очевидность, является одной из фундаментальных теорем теории многочленов. В этой теореме алгебраические свойства многочленов (которые позволяют работать с многочленами как с целыми числами) связываются с их функциональными свойствами (которые позволяют рассматривать многочлены как функции). Одним из способов решения уравнений высших степеней является способ разложения на множители многочлена, стоящего в левой части уравнения. Вычисление коэффициентов многочлена и остатка записывается в виде таблицы, которая называется схемой Горнера.

Схема Горнера – это алгоритм деления многочленов, записанный для частного случая, когда частное равно двучлену x–a .

Горнер Уильям Джордж (1786 - 1837), английский математик. Основные исследования относятся к теории алгебраических уравнений. Разработал способ приближенного решения уравнений любой степени. В 1819 г. ввёл важный для алгебры способ деления многочлена на двучлен х - а (схема Горнера).

Вывод общей формулы для схемы Горнера.

Разделить с остатком многочлен f(x) на двучлен (x-c) значит найти такой многочлен q(x) и такое число r, что f(x)=(x-c)q(x)+r

Запишем это равенство подробно:

f 0 x n + f 1 x n-1 + f 2 x n-2 + ...+f n-1 x + f n =(x-c) (q 0 x n-1 + q 1 x n-2 + q 2 x n-3 +...+ q n-2 x + q n-1)+r

Приравняем коэффициенты при одинаковых степенях:

x n: f 0 = q 0 => q 0 = f 0
x n-1: f 1 = q 1 - c q 0 => q 1 = f 1 + c q 0
x n-2: f 2 = q 2 - c q 1 => q 2 = f 2 + c q 1
... ...
x 0: f n = q n - c q n-1 => q n = f n + c q n-1.

Демонстрация схемы Горнера на примере.

Задание 1. С помощью схемы Горнера разделим с остатком многочлен f(x) = x 3 - 5x 2 + 8 на двучлен x-2.

1 -5 0 8
2 1 2*1+(-5)=-3 2*(-3)+0=-6 2*(-6)+8=-4

f(x) = x 3 - 5x 2 + 8 =(x-2)(x 2 -3x-6)-4, где g(x)= (x 2 -3x-6), r = -4 остаток.

Разложение многочлена по степеням двучлена.

Используя схему Горнера, разложим многочлен f(x)=x 3 +3x 2 -2x+4 по степеням двучлена (x+2).

В результате должны получить разложение f(x) = x 3 +3x 2 -2x+4 = (x+2)(x 2 +x-4)+12 = (x+2)((x-1)(x+2)-2)+12 = (((1*(x+2)-3)(x+2)-2)(x+2))+12 = (x+2) 3 -3(x+2) 2 -2(x+2)+12

Схему Горнера часто используют при решении уравнений третьей, четвертой и выших степеней, когда удобно разложить многочлен на двучлен x-a. Число a называют корнем многочлена F n (x) = f 0 x n + f 1 x n-1 + f 2 x n-2 + ...+f n-1 x + f n , если при x=a значение многочлена F n (x) равно нулю: F n (a)=0, т.е. если многочлен делится нацело на двучлен x-a.

Например, число 2 является корнем многочлена F 3 (x)=3x 3 -2x-20, так как F 3 (2)=0. это означает. Что разложение этого многочлена на множители содержит множитель x-2.

F 3 (x)=3x 3 -2x-20=(x-2)(3x 2 +6x+10).

Любой многочлен F n (x) степени n 1 может иметь не более n действительных корней.

Любой целый корень уравнения с целыми коэффициентами является делителем его свободного члена.

Если старший коэффициент уравнения равен 1, то все рациональные корни уравнения, если они существуют, целые.

Закрепление изученного материала.

Для закрепления нового материала учащимся предлагается выполнить номера из учебника 2.41 и 2.42 (стр. 65).

(2 ученика решают у доски, а остальные, решив, в тетради задания сверяются с ответами на доске).

Подведение итогов.

Поняв структуру и принцип действия схемы Горнера, ее можно использовать и на уроках информатики, когда рассматривается вопрос о переводе целых чисел из десятичной системы счисления в двоичную и обратно. В основе перевода из одной системы счисления в другую лежит следующая общая теорема

Теорема. Для перевода целого числа Ap из p -ичной системы счисления в систему счисления с основанием d необходимо Ap последовательно делить с остатком на число d , записанное в той же p -ичной системе, до тех пор, пока полученное частное не станет равным нулю. Остатки от деления при этом будут являться d -ичными цифрами числа Ad , начиная от младшего разряда к старшему. Все действия необходимо проводить в p -ичной системе счисления. Для человека данное правило удобно лишь при p = 10, т.е. при переводе из десятичной системы. Что касается компьютера, то ему, напротив, “удобнее” производить вычисления в двоичной системе. Поэтому для перевода “2 в 10” используется последовательное деление на десять в двоичной системе, а “10 в 2” - сложение степеней десятки. Для оптимизации вычислений процедуры “10 в 2” компьютер использует экономную вычислительную схему Горнера.

Домашнее задание. Предлагается выполнить два задание.

1-е. Используя схему Горнера разделить многочлен f(x)=2x 5 -x 4 -3x 3 +x-3 на двучлен (x-3).

2-е. Найти целые корни многочлена f(x)=x 4 -2x 3 +2x 2 -x-6.(учитывая, что любой целый корень уравнения с целыми коэффициентами является делителем его свободного члена)

Литература.

  1. Курош А.Г. “Курс высшей алгебры”.
  2. Никольский С.М, Потапов М.К. и др. 10 класс “Алгебра и начала математического анализа”.
  3. http://inf.1september.ru/article.php?ID=200600907.

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

$$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$:

После деления многочлена n-ой степени на бином $x-a$, получим многочлен, степень которого на единицу меньше исходного, т.е. равна $n-1$. Непосредственное применение схемы Горнера проще всего показать на примерах.

Пример №1

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

Составим таблицу из двух строк: в первой строке запишем коэффициенты многочлена $5x^4+5x^3+x^2-11$, расположенные по убыванию степеней переменной $x$. Заметьте, что данный многочлен не содержит $x$ в первой степени, т.е. коэффициент перед $x$ в первой степени равен 0. Так как мы делим на $x-1$, то во второй строке запишем единицу:

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

Следующую ячейку заполним по такому принципу: $1\cdot 5+5=10$:

Аналогично заполним и четвертую ячейку второй строки: $1\cdot 10+1=11$:

Для пятой ячейки получим: $1\cdot 11+0=11$:

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

Задача решена, осталось только записать ответ:

Как видите, числа, расположенные во второй строке (между единицей и нулём), есть коэффициенты многочлена, полученного после деления $5x^4+5x^3+x^2-11$ на $x-1$. Естественно, что так как степень исходного многочлена $5x^4+5x^3+x^2-11$ равнялась четырём, то степень полученного многочлена $5x^3+10x^2+11x+11$ на единицу меньше, т.е. равна трём. Последнее число во второй строке (ноль) означает остаток от деления многочлена $5x^4+5x^3+x^2-11$ на $x-1$. В нашем случае остаток равен нулю, т.е. многочлены делятся нацело. Этот результат ещё можно охарактеризовать так: значение многочлена $5x^4+5x^3+x^2-11$ при $x=1$ равно нулю.

Можно сформулировать вывод и в такой форме: так как значение многочлена $5x^4+5x^3+x^2-11$ при $x=1$ равно нулю, то единица является корнем многочлена $5x^4+5x^3+x^2-11$.

Пример №2

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

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

Полученный результат означает, что

$$x^4+3x^3+4x^2-5x-47=(x+3)(x^3+0\cdot x^2 +4x-17)+4=(x+3)(x^3+4x-17)+4$$

В этой ситуации остаток от деления $x^4+3x^3+4x^2-5x-47$ на $x+3$ равна $4$. Или, что то самое, значение многочлена $x^4+3x^3+4x^2-5x-47$ при $x=-3$ равно $4$. Кстати, это несложно перепроверить непосредственной подстановкой $x=-3$ в заданный многочлен:

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

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

Пример №3

Найти все целочисленные корни многочлена $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$:

Как видите, значение многочлена $x^6+2x^5-21x^4-20x^3+71x^2+114x+45$ при $x=1$ равно $192$ (последнее число в второй строке), а не $0$, посему единица не является корнем данного многочлена. Так как проверка для единицы окончилась неудачей, проверим значение $x=-1$. Новую таблицу для этого составлять не будем, а продолжим использование табл. №1, дописав в нее новую (третью) строку. Вторую строку, в которой проверялось значение $1$, выделим красным цветом и в дальнейших рассуждениях использовать её не будем.

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

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

\begin{equation}x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)(x^5+x^4-22x^3+2x^2+69x+45) \end{equation}

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

Итак, число $-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)(x^4-22x^2+24x+45) \end{equation}

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

\begin{equation}\begin{aligned} & x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)(x^5+x^4-22x^2+2x^2+69x+45)=\\ & =(x+1)(x+1)(x^4-22x^2+24x+45)=(x+1)^2(x^4-22x^2+24x+45)\end{aligned}\end{equation}

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

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

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

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

\begin{equation}\begin{aligned} & x^6+2x^5-21x^4-20x^3+71x^2+114x+45=(x+1)^2(x^4-22x^3+24x+45)= \\ & =(x+1)^2(x+1)(x^3-x^2-21x+45)=(x+1)^3(x^3-x^2-21x+45)\end{aligned}\end{equation}

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

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

В остатке ноль, посему число $3$ - корень рассматриваемого многочлена. Итак, $x^3-x^2-21x+45=(x-3)(x^2+2x-15)$. Теперь равенство (5) можно переписать так.