Схема Горнера
Схе́ма Го́рнера (или правило Горнера, метод Горнера, метод Руффини-Горнера) — алгоритм вычисления значения многочлена, записанного в виде суммы мономов (одночленов), при заданном значении переменной. Метод Горнера позволяет найти корни многочлена[1], а также вычислить производные полинома в заданной точке. Схема Горнера также является простым алгоритмом для деления многочлена на бином вида . Метод назван в честь Уильяма Джорджа Горнера, однако Паоло Руффини опередил Горнера на 15 лет, а китайцам этот способ был известен еще в XIII веке.
Описание алгоритма
Задан многочлен
Пусть требуется вычислить значение данного многочлена при фиксированном значении . Представим многочлен в следующем виде:
Определим следующую последовательность:
- …
- …
Искомое значение есть . Покажем, что это так.
В полученную форму записи подставим и будем вычислять значение выражения, начиная с внутренних скобок. Для этого будем заменять подвыражения через :
Использование схемы Горнера для деления многочлена на бином
При делении многочлена на получается многочлен с остатком (см. теорема Безу).
При этом коэффициенты результирующего многочлена удовлетворяют рекуррентным соотношениям
Таким же образом можно определить кратность корней (использовать схему Горнера для нового полинома). Также схему можно использовать для нахождения коэффициентов при разложении полинома по степеням :
Схема Горнера может использоваться для нахождения производных многочлена:
Примеры использования
Рассчитать для Используем синтетическое деление:
x₀│ x³ x² x¹ x⁰ 3 │ 2 −6 2 −1 │ 6 0 6 └──────────────────────── 2 0 2 5
Здесь в первой строке записаны значение и коэффициенты многочлена.
Значения (по столбцам) в третьей строке соответствуют сумме значений первой и второй строки (), а значения второй строки произведению x на значение в третьей строке предыдущего столбца ().
Например, если мы видим, что — значения в третьей строке. Так синтетическое деление базируется на методе Горнера.
Разделим на :
2 │ 1 −6 11 −6 │ 2 −8 6 └──────────────────────── 1 −4 3 0
Новый многочлен .
Пусть и . Разделим на , используя метод Горнера.
2 │ 4 −6 0 3 │ −5 ────┼──────────────────────┼─────── 1 │ 2 −2 −1 │ 1 └──────────────────────┼─────── 2 −2 −1 1 │ −4
Третья строка — сумма первых двух, деленная на два. Каждое значение второй строки совпадает с значением третьей строки в предыдущем столбце. Ответ на деление:
Также с помощью схемы Горнера можно вычислять значение числа в позиционной системе исчисления.
Примечания
- ↑ Если целочисленный многочлен обладает целыми корнями, то они будут найдены среди делителей свободного члена. Курош А. Г. § 57. Рациональные корни целочисленных многочленов // Курс высшей алгебры. — Наука. — Москва, 1968. Архивировано 18 октября 2013 года.
См. также
- Деление многочленов столбиком
- Деление столбиком
- Метод Лиля
Литература
- Левитин А. В. Глава 6. Метод преобразования: Схема Горнера и возведение в степень // Алгоритмы. Введение в разработку и анализ — М.: Вильямс, 2006. — С. 284—291. — 576 с. — ISBN 978-5-8459-0987-9
- Волков Е. А. § 2. Вычисление значений многочлена. Схема Горнера // Численные методы. — Учеб. пособие для вузов. — 2-е изд., испр. — М.: Наука, 1987. — 248 с.
- С. Б. Гашков. § 14. Схема Горнера и перевод из одной позиционной системы в другую // Системы счисления и их применение. — М.: МЦНМО, 2004. — С. 37—39. — (Библиотека «Математическое просвещение»). — ISBN 5-94057-146-8.
Ссылки
- Схема Горнера
- Вычисление многомерных полиномов — обобщение схемы Горнера на случай полинома от нескольких переменных.
- Метод Горнера в комплексном поле