Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Подразделы

Другие разделы

Дата и время

01/04/2025 08:27:07

Авторизация

Имя:
Пароль:
Зарегистрироваться
Восстановить пароль
 

printПолиномы

printОперации над полиномами

Для полиномов можно определить множество разнообразных операций.

Суммой полиномов A(x) и B(x) степени n является полином C(x) степени n, такой что C(x)=A(x)+B(x) для всех x из соответствующего поля.

Например,если A(x)=6x3+7x2-10x+9 и B(x)=-2x3+4x-5, то C(x)=4x3+7x2-6x+4.

Операция сложения выполняется за O(n) и для представления в виде вектора коэффициентов (cj=aj+bj), и для представления в виде значений в точках (C.yk=A.yk+B.yk, при условии, что используется одинаковые наборы xk)


Если A(x) и B(x) – полиномы степени n, их произведением C(x) является полином степени 2n, такой что C(x)=A(x)B(x) для всех x из соответствующего поля.

Например, умножение полиномов A(x)=6x3+7x2-10x+9 и B(x)=-2x3+4x-5 можно выполнить следующим образом:

width:500px|Умножение


Операция умножения полиномов в коэффициентной форме оказывается гораздо более сложной, чем операции вычисления полинома или сложения двух полиномов, поскольку каждый коэффициент из вектора a необходимо умножить на каждый коэффициент из вектора b, что приводит к оценке O(n2).

Умножение для представлении в виде значений в точках выглядит проще – достаточно перемножить значения в точках C.yk=A.ykB.yk, но полином C(x) имеет степень 2n и его представление должно содержать в 2 раза больше пар точка-значение.

Следовательно, необходимо использовать "расширенные" представления полиномов A(x) и B(x), которые содержат по 2n+2 пар точка-значение каждое.


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

loading