Нахождение корней многочлена по схеме Горнера

Сущность схемы

Пусть имеется простой двухчлен вида ax + b = 0. Решить его не представляет никакого труда. Нужно просто неизвестное перенести в одну сторону, а коэффициенты в другую. В итоге x = - b/a. Рассматриваемое уравнение можно усложнить, добавив квадрат ax2 + bx + c = 0. Решается оно с помощью нахождения дискриминанта. Если он больше нуля, то решения будет два, при его равенстве нулю — корень только один, а когда он меньше, то решений и вовсе нет.

Следующий тип уравнения пусть содержит третью степень ax3 + bx2 + c + d = 0. Это равенство у многих вызывает затруднения. Хотя и существуют различные способы, позволяющие решить такое уравнение, например, формула Кордана, но их уже нельзя применять для степеней пятого и высших порядков. Поэтому математики задумывались об универсальном способе, с помощью которого можно было бы вычислять уравнения любой сложности.

Сущность схемы решения

В школе обычно предлагают использовать метод группировки и анализа, при котором многочлен можно разложить на хотя бы два множителя. Для кубического уравнения можно записать: (x - x0) (ax2 + bx + c) = 0. Затем используют то, что произведение будет равно нулю лишь в том случае, если линейный двучлен или квадратное уравнение равняется ему. Затем выполняют стандартное решение. Проблема при вычислении такого типа приведённых равенств возникает во время поиска x0. Вот в этом случае и поможет схема Горнера.

Алгоритм, предложенный Горнером, на самом деле был открыт раньше итальянским математиком и доктором медицины Паоло Руффини. Он первый доказал невозможность нахождения радикала в выражениях пятой степени. Но его работа содержала много противоречий, которые не позволили её принять математическим миром учёных. Основываясь на его трудах, в 1819 году британец Уильям Джордж Горнер опубликовал способ приближённого нахождения корней многочлена. Эта работа была напечатана Королевским научным обществом и получила название метод Руффини-Горнера.

После шотландец Огастес де Морган расширил возможности использования метода. Способ нашёл применение в теоретико-множественных соотношениях и теории вероятности. По сути, схема является алгоритмом для вычисления частного и остатка отношения записи Р (х) на х-с.

Принцип метода

Впервые учащихся знакомят со способом нахождения корней с использованием схемы Горнера в высших классах средней школы на уроках алгебры. Объясняют её на примере решения уравнения третьей степени: x3 + 6x — x — 30 = 0. При этом в условии задачи дано, что корнем этого уравнения является цифра два. Задача заключается в том, чтобы определить другие корни.

Обычно это делается следующим образом. Если многочлен p (x) имеет корень x0, то p (x) можно представить как произведение разности икс минус икс нулевое на некий другой многочлен q (x), степень которого будет на единицу меньше. Выделяют нужный многочлен обычно способом деления. Для рассматриваемого примера уравнение будет иметь вид: (x3 + 6x — x — 30) / (x — x2). Деление лучше выполнять «уголком». В итоге получится выражение: x2 + 8x + 15 .

Таким образом, искомое выражение можно переписать в виде (x — 2)* (x2 + 8x + 15) = 0. Далее, для того чтобы найти решение, нужно выполнить следующее:

  • Найти корни в первом члене равенства, приравняв его к нулю: x — 2 = 0. Отсюда x = 2, что также следует из условия.
  • Решить квадратное уравнение, приравняв второй член многочлена к нулю: x2 + 8x + 15 = 0. Найти корни можно через дискриминант или по формулам Виета. Так можно записать, что (x+3) * (x+5) = 0, то есть икс один равняется трём, а икс два — минус пяти.

Найти корни в первом члене равенства

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

После того как в таблицу записали выбранное х0, заполнение происходит по следующему принципу:

  • в первый столбец сносится просто то, что стоит в верхнем элементе второго столбика;
  • для нахождения следующего числа нужно снесённое число умножить на выбранное x0 и добавить стоящее число в заполняемом столбике сверху;
  • аналогичные операции проделывают до окончательного заполнения всех ячеек;
  • строки в последнем столбике равные нулю и будут искомым решением.

Для рассматриваемого примера при подстановке двойки строчка будет состоять из ряда: 2, 1, 8, 15, 0. Таким образом, находятся все члены. При этом схема работает для любого порядка степенного уравнения.

Пример использования

Как пользоваться схемой Горнера

Для того чтобы понять, как пользоваться схемой Горнера, нужно подробно рассмотреть типовой пример. Пусть требуется определить кратность корня х0 многочлена p (x) = x5 — 5x4 + 7x3 — 2x2 + 4x — 8. Часто в задачах приходится подбирать корни методом перебора, но для того чтобы сэкономить время, будем считать, что они уже известны и их нужно просто проверить. Тут следует понимать, что применяя схему, расчёт всё равно будет быстрее, чем использование других теорем или метода понижения.

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

Как видно, минимум один раз двойка помещается в многочлен. Теперь нужно проверить, является ли двойка корнем низшего полученного выражения. После выполнения аналогичных действий в таблице должен получиться следующий ряд: 1, -1, -1. -2, 0. Фактически это квадратное уравнение, которое также необходимо проверить. В результате вычисленный ряд будет состоять из 1, 1, 1, 0.

В последнем выражении двойка не может быть рациональным решением. То есть в исходном многочлене цифра два используется три раза, а значит можно записать: (x — 2)3 * (x2 + x + 1). То, что двойка не является корнем квадратного выражения, можно понять по следующим фактам:

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

Алгоритм решения многочлена

Поэтому далее схему можно не использовать. Окончательное разложение на множители будет иметь следующий вид: (x — 2)3 * (x2 + x + 1). Соответственно, х0 = 2 является корнем третьей кратности.

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

Пояснение способа

Подтверждение справедливости существования схемы Горнера объясняется рядом факторов. Представим, что есть многочлен третьей степени: x3 + 5x – 3x + 8. Из этого выражения икс можно вынести за скобку: x * (x2 + 5x – 3) + 8. Из полученной формулы можно снова вынести икс: x * (x * (x + 5) – 3) + 8 = x * (x* ((x * 1) + 5) – 3) + 8.

Подтверждение справедливости существования схемы Горнера

По сути, чтобы посчитать полученное выражение, можно подставить предполагаемое значение икс в первую внутреннюю скобку и выполнить алгебраические операции, согласно старшинству. Фактически это все те действия, которые выполняются в методе Горнера. При этом числа 8, -3, 5, 1 — это коэффициенты исходного многочлена.

Пусть имеется многочлен P (x) = an * xn + an -1 * xn-1 + 1x1 + a0 = 0. Если у этого выражения есть некий корень x = x0, то это означает, что рассматриваемое выражение можно переписать в виде: P (x) = (x-x0) * Q(x). Это следствие из теоремы Безу. Здесь важно то, что степень многочлена Q(x) будет на единицу меньше, чем имеет P(x). Следовательно, его можно расписать в меньшем виде: P (x) = (x-x0) * (bn-1 * xn-1 + bn-2 * xn-2 + b0) = 0. Две конструкции тождественно равны между собой.

А это значит, что все коэффициенты рассматриваемых многочленов равны, в частности, (x0)b) = a0. Используя это, можно утверждать, что какими бы ни были числа a0 и b0, икс всегда является делителем, то есть a0 всегда можно разделить на корни многочлена. Иными словами, найти рациональные варианты решения.

Общий случай, объясняющий метод, будет выглядеть следующим образом: an * xn + an-1 * xn-1 + … + a1x + a0 = x * (an * xn-1 + an-1 * xn-2 + … + a1) + a0 = x * (x * (... (an * x + an -1)+ an-2...an-m)+ a0). То есть схема работает вне зависимости от степени многочлена. Она универсальная. При этом подходит как для неполных уравнений, так и полных. Это инструмент, позволяющий проверить х0 на корень. Если же он не является решением, то число, оставшееся в конце, будет остатком от деления рассматриваемого многочлена.

В математике правильной записью метода будет выражение: Pn(x) = ∑i = 0naixn−i = a0xn + a1xn − 1 + a2xn − 2 +…+ an − 1x + an. В нём значение i изменяется от нуля до эн, а сам многочлен делится на бином x – a. После выполнения этого действия получается выражение, степень которого на единицу меньше от исходного. Другими словами, определяется как n – 1.

Расчёт на онлайн-калькуляторе

Использовать ресурсы, предоставляющие доступ к вычислениям корней высших степеней многочленов, довольно удобно. Чтобы воспользоваться такими сайтами, особые знания в математике или программировании иметь не нужно. Всё, что необходимо пользователю — это доступ к интернету и браузер, поддерживающий работу Java скриптов.

Использование онлайн калькулятора

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

Из всего множества считающих онлайн–калькуляторов по схеме Горнера можно выделить следующие три:

  • Kontrolnaya-rabota. Сервис ориентирован на старшеклассников, но по своим возможностям довольно функционален. С его помощью можно очень быстро проверить корни на соответствие.
  • Nauchniestati. Приложение позволяет определить корни методом Горнера буквально за две-три секунды. На сайте можно найти всю необходимую теорию. Для выполнения расчёта нужно ознакомиться с правилами ввода математической формулы, указанными тут же на сайте.
  • Сalc. Используя этот сайт, пользователь сможет получить подробное описание решения с изображением таблицы. Для этого в специальную форму необходимо ввести уравнение и нажать кнопку «решение».

Программа Сalc.

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

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