![(f+g)[x_{0},\dots ,x_{n}]=f[x_{0},\dots ,x_{n}]+g[x_{0},\dots ,x_{n}]](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![(\lambda \cdot f)[x_{0},\dots ,x_{n}]=\lambda \cdot f[x_{0},\dots ,x_{n}]](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle (f\cdot g)[x_{0},\dots ,x_{n}]=f[x_{0}]\cdot g[x_{0},\dots ,x_{n}]+f[x_{0},x_{1}]\cdot g[x_{1},\dots ,x_{n}]+\dots +f[x_{0},\dots ,x_{n}]\cdot g[x_{n}]=\sum _{r=0}^{n}f[x_{0},\ldots ,x_{r}]\cdot g[x_{r},\ldots ,x_{n}]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- Разделенные разности симметричны: если
перестановка, то
![{\displaystyle f[x_{0},\dots ,x_{n}]=f[x_{\sigma (0)},\dots ,x_{\sigma (n)}]}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
где
находится в открытом интервале, определяемом наименьшим и наибольшим из
с.
Матричная форма
Схема разделенных разностей может быть помещена в верхнюю треугольную матрицу . Позволять
.
Тогда он держит
![T_{{f+g}}x=T_{f}x+T_{g}x](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![T_{{f\cdot g}}x=T_{f}x\cdot T_{g}x](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- Это следует из правила Лейбница. Это означает, что умножение таких матриц коммутативно . Таким образом, матрицы схем разделенных разностей относительно одного и того же набора узлов образуют коммутативное кольцо .
- С
- треугольная матрица, ее собственные значения , очевидно, равны
. - Позволять
- дельта- функция Кронекера , т. е.
![\delta _{\xi }(t)={\begin{cases}1&:t=\xi ,\\0&:{\mbox{else}}.\end{cases}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- Очевидно
, таким образом
является собственной функцией поточечного умножения функций. Это
каким-то образом "собственная матрица "
:
. Однако все столбцы
кратны друг друга, матрицы ранга из
равно 1. Таким образом, вы можете составить матрицу всех собственных векторов из
-й столбец каждого
. Обозначим матрицу собственных векторов через
. Пример ![U(x_{0},x_{1},x_{2},x_{3})={\begin{pmatrix}1&{\frac {1}{(x_{1}-x_{0})}}&{\frac {1}{(x_{2}-x_{0})\cdot (x_{2}-x_{1})}}&{\frac {1}{(x_{3}-x_{0})\cdot (x_{3}-x_{1})\cdot (x_{3}-x_{2})}}\\0&1&{\frac {1}{(x_{2}-x_{1})}}&{\frac {1}{(x_{3}-x_{1})\cdot (x_{3}-x_{2})}}\\0&0&1&{\frac {1}{(x_{3}-x_{2})}}\\0&0&0&1\end{pmatrix}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
- Диагонализация из
можно записать как
.
Расширенная форма
С помощью полиномиальной функции
с участием
это можно записать как
![f[x_{0},\dots ,x_{n}]=\sum _{{j=0}}^{{n}}{\frac {f(x_{j})}{q'(x_{j})}}.](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
В качестве альтернативы мы можем разрешить отсчет в обратном порядке от начала последовательности, определив
в любое время
или же
. Это определение позволяет
интерпретироваться как
,
интерпретироваться как
,
интерпретироваться как
и т. д. Таким образом, расширенная форма разделенной разницы становится
Еще одна характеристика использует ограничения:
Неполные фракции
Вы можете представить частичные дроби, используя развернутую форму разделенных разностей. (Это не упрощает вычисления, но интересно само по себе.) Если
а также
- полиномиальные функции , где
а также
дается в терминах линейных факторов как
, то из разложения на частную дробь следует, что
![{\frac {p(\xi )}{q(\xi )}}=\left(t\to {\frac {p(t)}{\xi -t}}\right)[x_{1},\dots ,x_{n}].](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Если пределы разделенных разностей приняты, то эта связь также сохраняется, если некоторые из
совпадают.
Если
является полиномиальной функцией произвольной степени и разлагается на
используя деление многочленов из
от
, тогда
![{\frac {p(\xi )}{q(\xi )}}=\left(t\to {\frac {f(t)}{\xi -t}}\right)[x_{1},\dots ,x_{n}].](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Форма Пеано
Разделенные различия могут быть выражены как
![f[x_{0},\ldots ,x_{n}]={\frac {1}{n!}}\int _{{x_{0}}}^{{x_{n}}}f^{{(n)}}(t)B_{{n-1}}(t)\,dt](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
где
является B-сплайном степени
для точек данных
а также
это
-я производная функции
.
Это называется формой Пеано разделенных различий и
называется ядром Пеано из- за разделенных различий, оба названы в честь Джузеппе Пеано .
Форма Тейлора
Первый заказ
Если узлы накапливаются, то численное вычисление разделенных разностей неточно, потому что вы делите почти два нуля, каждый из которых с высокой относительной ошибкой из-за разностей схожих значений . Однако мы знаем, что коэффициенты разности аппроксимируют производную и наоборот:
для ![x\approx y](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Это приближение можно превратить в тождество всякий раз, когда применима теорема Тейлора .
![f(y)=f(x)+f'(x)\cdot (y-x)+f''(x)\cdot {\frac {(y-x)^{2}}{2!}}+f'''(x)\cdot {\frac {(y-x)^{3}}{3!}}+\dots](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![\Rightarrow {\frac {f(y)-f(x)}{y-x}}=f'(x)+f''(x)\cdot {\frac {y-x}{2!}}+f'''(x)\cdot {\frac {(y-x)^{2}}{3!}}+\dots](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Вы можете устранить нечетные возможности
путем расширения ряда Тейлора в центре между
а также
:
, это ![m={\frac {x+y}{2}},h={\frac {y-x}{2}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![f(m+h)=f(m)+f'(m)\cdot h+f''(m)\cdot {\frac {h^{2}}{2!}}+f'''(m)\cdot {\frac {h^{3}}{3!}}+\dots](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![f(m-h)=f(m)-f'(m)\cdot h+f''(m)\cdot {\frac {h^{2}}{2!}}-f'''(m)\cdot {\frac {h^{3}}{3!}}+\dots](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\frac {f(y)-f(x)}{y-x}}={\frac {f(m+h)-f(m-h)}{2\cdot h}}=f'(m)+f'''(m)\cdot {\frac {h^{2}}{3!}}+\dots](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Более высокого порядка
Ряд Тейлора или любое другое представление с функциональным рядом в принципе можно использовать для аппроксимации разделенных разностей. Ряды Тейлора представляют собой бесконечные суммы степенных функций . Отображение из функции
к разделенной разнице
- линейный функционал . Мы также можем применить этот функционал к слагаемым функциям.
Выразите обозначение мощности с помощью обычной функции:
Регулярный ряд Тейлора представляет собой взвешенную сумму степенных функций:
Ряд Тейлора для разделенных разностей:
Мы знаем, что первый
члены исчезают, потому что у нас более высокий порядок разности, чем полиномиальный порядок, и в следующем члене разделенная разность равна единице:
![{\begin{array}{llcl}\forall j<n&p_{j}[x_{0},\dots ,x_{n}]&=&0\\&p_{n}[x_{0},\dots ,x_{n}]&=&1\\&p_{{n+1}}[x_{0},\dots ,x_{n}]&=&x_{0}+\dots +x_{n}\\&p_{{n+m}}[x_{0},\dots ,x_{n}]&=&\sum _{{a\in \{0,\dots ,n\}^{m}{\text{ with }}a_{1}\leq a_{2}\leq \dots \leq a_{m}}}\prod _{{j\in a}}x_{j}.\\\end{array}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Отсюда следует, что ряд Тейлора для разделенной разности по существу начинается с
что также является простой аппроксимацией разделенной разности в соответствии с теоремой о среднем значении для разделенных разностей .
Если бы нам пришлось вычислять разделенные разности для степенных функций обычным способом, мы бы столкнулись с теми же числовыми проблемами, что и при вычислении разделенной разности
. Приятно то, что есть способ попроще. Он держит
![t^{n}=(1-x_{0}\cdot t)\dots \cdot (1-x_{n}\cdot t)\cdot (p_{0}[x_{0},\dots ,x_{n}]+p_{1}[x_{0},\dots ,x_{n}]\cdot t+p_{2}[x_{0},\dots ,x_{n}]\cdot t^{2}+\dots ).](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Следовательно, мы можем вычислить разделенные разности
путем разделения на формальных степенных рядов . Посмотрите, как это сводится к последовательному вычислению степеней, когда мы вычисляем
для нескольких
.
Если вам нужно вычислить всю схему разделенных разностей относительно ряда Тейлора, см. Раздел о разделенных разностях степенных рядов .
Разделенные разности многочленов особенно интересны, потому что они могут извлечь выгоду из правила Лейбница. Матрица
с участием
![J={\begin{pmatrix}x_{0}&1&0&0&\cdots &0\\0&x_{1}&1&0&\cdots &0\\0&0&x_{2}&1&&0\\\vdots &\vdots &&\ddots &\ddots &\\0&0&0&0&&x_{n}\end{pmatrix}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
содержит схему разделенных разностей для функции идентичности относительно узлов
, таким образом
содержит разделенные разности для степенной функции с показателем
. Следовательно, вы можете получить разделенные разности для полиномиальной функции
относительно полинома
применяя
(точнее: соответствующая ей матричная полиномиальная функция
) к матрице
.
![\varphi (p)(\xi )=a_{0}+a_{1}\cdot \xi +\dots +a_{n}\cdot \xi ^{n}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![\varphi _{{{\mathrm {M}}}}(p)(J)=a_{0}+a_{1}\cdot J+\dots +a_{n}\cdot J^{n}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![={\begin{pmatrix}\varphi (p)[x_{0}]&\varphi (p)[x_{0},x_{1}]&\varphi (p)[x_{0},x_{1},x_{2}]&\ldots &\varphi (p)[x_{0},\dots ,x_{n}]\\0&\varphi (p)[x_{1}]&\varphi (p)[x_{1},x_{2}]&\ldots &\varphi (p)[x_{1},\dots ,x_{n}]\\\vdots &\ddots &\ddots &\ddots &\vdots \\0&\ldots &0&0&\varphi (p)[x_{n}]\end{pmatrix}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Это известно как формула Опица . [2] [3]
Теперь рассмотрим увеличение степени
до бесконечности, т.е. превратить многочлен Тейлора в ряд Тейлора . Позволять
- функция, соответствующая степенному ряду . Вы можете вычислить схему разделенных разностей, вычислив соответствующий матричный ряд, применяемый к
. Если узлы
все равны, то
является жордановым блоком, и вычисление сводится к обобщению скалярной функции на матричную функцию с использованием разложения Жордана .
Когда точки данных распределены равноудаленно, мы получаем особый случай, называемый прямыми разностями . Их легче вычислить, чем более общие разделенные разности.
Обратите внимание, что «разделенная часть» из прямой разделенной разности все же должна быть вычислена, чтобы восстановить прямую разделенную разницу из прямой разницы .
Определение
Учитывая n точек данных
![(x_{0},y_{0}),\ldots ,(x_{{n-1}},y_{{n-1}})](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
с участием
![{\displaystyle x_{\nu }=x_{0}+\nu h,\ h>0,\ \nu =0,\ldots ,n-1}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
разделенные разницы можно рассчитать с помощью форвардных разниц, определяемых как
![{\displaystyle \Delta ^{(0)}y_{i}:=y_{i}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
![{\displaystyle \Delta ^{(k)}y_{i}:=\Delta ^{(k-1)}y_{i+1}-\Delta ^{(k-1)}y_{i},\ k\geq 1.}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Связь между разделенными разностями и прямыми разностями [4]
![{\displaystyle f[x_{0},x_{1},\ldots ,x_{k}]={\frac {1}{k!h^{k}}}\Delta ^{(k)}f(x_{0}).}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Пример
![{\displaystyle {\begin{matrix}y_{0}&&&\\&\Delta y_{0}&&\\y_{1}&&\Delta ^{2}y_{0}&\\&\Delta y_{1}&&\Delta ^{3}y_{0}\\y_{2}&&\Delta ^{2}y_{1}&\\&\Delta y_{2}&&\\y_{3}&&&\\\end{matrix}}}](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)