Это не официальный сайт wikipedia.org 01.01.2023

Вычисление значений многочлена — Википедия

Вычисление значений многочлена

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

Постановка задачиПравить

Многочлен P   степени n   над полем K   задан своими коэффициентами. Необходимо по заданному набору точек x 1 , , x m   необходимо вычислить значения P   в этих точках. Если P   зависит только от одной переменной, он может быть представлен как P ( x ) = a 0 + a 1 x + + a n x n  . Соответственно, необходимо вычислить P ( x 1 ) , , P ( x m )  . Используемая модель вычислений определяет, какие операции можно использовать при решении задачи. Как правило алгоритмы формулируются в терминах арифметических операций (сложение, вычитание, умножение, деление) над K  .

Метод ГорнераПравить

Схема Горнера предполагает вычисление последовательности p n , , p 0  , где p n = a n  , а остальные члены определяются рекуррентно как p k = a k + x p k + 1  . Разворачивая схему в обратную сторону, можно получить:

p 0 = a 0 + x p 1 = a 0 + x ( a 1 + x p 2 ) = = a 0 + x ( a 1 + x ( a 2 + x ( ) ) )  , где наиболее вложенная скобка содержит выражение a n 1 + x a n  , то есть, p n 1  .

По такой схеме, p k   равно значению в точке x   многочлена, составленного из коэффициентов a k , , a n   — в частности, p 0 = P ( x )  . Алгоритм позволяет вычислить P ( x )   за O ( n )   сложений и умножений. Соответственно, вычисление в m   точках потребует O ( n m )   операций.

ЛитератураПравить