В математика , разделенные различия является алгоритм , исторически использовавшийся для вычисления таблиц логарифмов и тригонометрических функций.[нужна цитата ] Чарльз Бэббидж с разностный двигатель , рано механический калькулятор , был разработан для использования этого алгоритма в своей работе.[1]
Разделенные различия - это рекурсивный разделение процесс. Метод может быть использован для расчета коэффициентов в интерполяционный полином в Форма Ньютона .
Определение
Данный k + 1 точка данных
( Икс 0 , y 0 ) , … , ( Икс k , y k ) { displaystyle (x_ {0}, y_ {0}), ldots, (x_ {k}, y_ {k})} В прямые разделенные разницы определяются как:
[ y ν ] := y ν , ν ∈ { 0 , … , k } { displaystyle [y _ { nu}]: = y _ { nu}, qquad nu in {0, ldots, k }} [ y ν , … , y ν + j ] := [ y ν + 1 , … , y ν + j ] − [ y ν , … , y ν + j − 1 ] Икс ν + j − Икс ν , ν ∈ { 0 , … , k − j } , j ∈ { 1 , … , k } . { displaystyle [y _ { nu}, ldots, y _ { nu + j}]: = { frac {[y _ { nu +1}, ldots, y _ { nu + j}] - [y_ { nu}, ldots, y _ { nu + j-1}]} {x _ { nu + j} -x _ { nu}}}, qquad nu in {0, ldots, kj }, j in {1, ldots, k }.} В обратно разделенные различия определяются как:
[ y ν ] := y ν , ν ∈ { 0 , … , k } { displaystyle [y _ { nu}]: = y _ { nu}, qquad nu in {0, ldots, k }} [ y ν , … , y ν − j ] := [ y ν , … , y ν − j + 1 ] − [ y ν − 1 , … , y ν − j ] Икс ν − Икс ν − j , ν ∈ { j , … , k } , j ∈ { 1 , … , k } . { displaystyle [y _ { nu}, ldots, y _ { nu -j}]: = { frac {[y _ { nu}, ldots, y _ { nu -j + 1}] - [y_ { nu -1}, ldots, y _ { nu -j}]} {x _ { nu} -x _ { nu -j}}}, qquad nu in {j, ldots, k }, j in {1, ldots, k }.} Обозначение
Если точки данных заданы как функция ƒ ,
( Икс 0 , ж ( Икс 0 ) ) , … , ( Икс k , ж ( Икс k ) ) { Displaystyle (x_ {0}, f (x_ {0})), ldots, (x_ {k}, f (x_ {k}))} иногда пишут
ж [ Икс ν ] := ж ( Икс ν ) , ν ∈ { 0 , … , k } { Displaystyle е [х _ { ню}]: = е (х _ { ню}), qquad nu in {0, ldots, k }} ж [ Икс ν , … , Икс ν + j ] := ж [ Икс ν + 1 , … , Икс ν + j ] − ж [ Икс ν , … , Икс ν + j − 1 ] Икс ν + j − Икс ν , ν ∈ { 0 , … , k − j } , j ∈ { 1 , … , k } . { displaystyle f [x _ { nu}, ldots, x _ { nu + j}]: = { frac {f [x _ { nu +1}, ldots, x _ { nu + j}] - f [x _ { nu}, ldots, x _ { nu + j-1}]} {x _ { nu + j} -x _ { nu}}}, qquad nu in {0, ldots, kj }, j in {1, ldots, k }.} Несколько обозначений разделенной разности функции ƒ на узлах Икс 0 , ..., Икс п используются:
[ Икс 0 , … , Икс п ] ж , { displaystyle [x_ {0}, ldots, x_ {n}] f,} [ Икс 0 , … , Икс п ; ж ] , { displaystyle [x_ {0}, ldots, x_ {n}; f],} D [ Икс 0 , … , Икс п ] ж { Displaystyle D [x_ {0}, ldots, x_ {n}] f} и Т. Д.
Пример
Разделенные различия для ν = 0 { displaystyle nu = 0} и первые несколько значений j { displaystyle j} :
[ y 0 ] = y 0 [ y 0 , y 1 ] = y 1 − y 0 Икс 1 − Икс 0 [ y 0 , y 1 , y 2 ] = [ y 1 , y 2 ] − [ y 0 , y 1 ] Икс 2 − Икс 0 = y 2 − y 1 Икс 2 − Икс 1 − y 1 − y 0 Икс 1 − Икс 0 Икс 2 − Икс 0 = y 2 − y 1 ( Икс 2 − Икс 1 ) ( Икс 2 − Икс 0 ) − y 1 − y 0 ( Икс 1 − Икс 0 ) ( Икс 2 − Икс 0 ) [ y 0 , y 1 , y 2 , y 3 ] = [ y 1 , y 2 , y 3 ] − [ y 0 , y 1 , y 2 ] Икс 3 − Икс 0 { displaystyle { begin {align} { mathopen {[}} y_ {0}] & = y_ {0} { mathopen {[}} y_ {0}, y_ {1}] & = { гидроразрыв {y_ {1} -y_ {0}} {x_ {1} -x_ {0}}} { mathopen {[}} y_ {0}, y_ {1}, y_ {2}] & = { frac {{ mathopen {[}} y_ {1}, y_ {2}] - { mathopen {[}} y_ {0}, y_ {1}]} {x_ {2} -x_ {0} }} = { frac {{ frac {y_ {2} -y_ {1}} {x_ {2} -x_ {1}}} - { frac {y_ {1} -y_ {0}} {x_ {1} -x_ {0}}}} {x_ {2} -x_ {0}}} = { frac {y_ {2} -y_ {1}} {(x_ {2} -x_ {1}) (x_ {2} -x_ {0})}} - { frac {y_ {1} -y_ {0}} {(x_ {1} -x_ {0}) (x_ {2} -x_ {0} )}} { mathopen {[}} y_ {0}, y_ {1}, y_ {2}, y_ {3}] & = { frac {{ mathopen {[}} y_ {1}, y_ {2}, y_ {3}] - { mathopen {[}} y_ {0}, y_ {1}, y_ {2}]} {x_ {3} -x_ {0}}} end {выровнено }}} Чтобы сделать рекурсивный процесс более понятным, разделенные различия можно представить в виде таблицы:
Икс 0 y 0 = [ y 0 ] [ y 0 , y 1 ] Икс 1 y 1 = [ y 1 ] [ y 0 , y 1 , y 2 ] [ y 1 , y 2 ] [ y 0 , y 1 , y 2 , y 3 ] Икс 2 y 2 = [ y 2 ] [ y 1 , y 2 , y 3 ] [ y 2 , y 3 ] Икс 3 y 3 = [ y 3 ] { displaystyle { begin {matrix} x_ {0} & y_ {0} = [y_ {0}] &&& && [y_ {0}, y_ {1}] && x_ {1} & y_ {1} = [y_ {1}] && [y_ {0}, y_ {1}, y_ {2}] & && [y_ {1}, y_ {2}] && [y_ {0}, y_ {1} , y_ {2}, y_ {3}] x_ {2} & y_ {2} = [y_ {2}] && [y_ {1}, y_ {2}, y_ {3}] & && [ y_ {2}, y_ {3}] && x_ {3} & y_ {3} = [y_ {3}] &&& end {matrix}}} Характеристики
( ж + грамм ) [ Икс 0 , … , Икс п ] = ж [ Икс 0 , … , Икс п ] + грамм [ Икс 0 , … , Икс п ] { displaystyle (f + g) [x_ {0}, dots, x_ {n}] = f [x_ {0}, dots, x_ {n}] + g [x_ {0}, dots, x_ {n}]} ( λ ⋅ ж ) [ Икс 0 , … , Икс п ] = λ ⋅ ж [ Икс 0 , … , Икс п ] { displaystyle ( lambda cdot f) [x_ {0}, dots, x_ {n}] = lambda cdot f [x_ {0}, dots, x_ {n}]} ( ж ⋅ грамм ) [ Икс 0 , … , Икс п ] = ж [ Икс 0 ] ⋅ грамм [ Икс 0 , … , Икс п ] + ж [ Икс 0 , Икс 1 ] ⋅ грамм [ Икс 1 , … , Икс п ] + ⋯ + ж [ Икс 0 , … , Икс п ] ⋅ грамм [ Икс п ] = ∑ р = 0 п ж [ Икс 0 , … , Икс р ] ⋅ грамм [ Икс р , … , Икс п ] { 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} ]} Разделенные разности симметричны: если σ : { 0 , … , п } → { 0 , … , п } { displaystyle sigma: {0, dots, n } to {0, dots, n }} перестановка, то ж [ Икс 0 , … , Икс п ] = ж [ Икс σ ( 0 ) , … , Икс σ ( п ) ] { displaystyle f [x_ {0}, dots, x_ {n}] = f [x _ { sigma (0)}, dots, x _ { sigma (n)}]} ж [ Икс 0 , … , Икс п ] = ж ( п ) ( ξ ) п ! { displaystyle f [x_ {0}, dots, x_ {n}] = { frac {f ^ {(n)} ( xi)} {n!}}} куда ξ { Displaystyle xi} находится в открытом интервале, определяемом наименьшим и наибольшим из Икс k { displaystyle x_ {k}} с.Матричная форма Схема разделенных разностей может быть помещена в верхнюю треугольная матрица .Позволять Т ж ( Икс 0 , … , Икс п ) = ( ж [ Икс 0 ] ж [ Икс 0 , Икс 1 ] ж [ Икс 0 , Икс 1 , Икс 2 ] … ж [ Икс 0 , … , Икс п ] 0 ж [ Икс 1 ] ж [ Икс 1 , Икс 2 ] … ж [ Икс 1 , … , Икс п ] ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 … ж [ Икс п ] ) { displaystyle T_ {f} (x_ {0}, dots, x_ {n}) = { begin {pmatrix} f [x_ {0}] & f [x_ {0}, x_ {1}] & f [x_ {0}, x_ {1}, x_ {2}] & ldots & f [x_ {0}, dots, x_ {n}] 0 & f [x_ {1}] & f [x_ {1}, x_ { 2}] & ldots & f [x_ {1}, dots, x_ {n}] vdots & vdots & vdots & ddots & vdots 0 & 0 & 0 & ldots & f [x_ {n}] конец {pmatrix}}} .
Тогда он держит
Т ж + грамм Икс = Т ж Икс + Т грамм Икс { displaystyle T_ {f + g} x = T_ {f} x + T_ {g} x} Т ж ⋅ грамм Икс = Т ж Икс ⋅ Т грамм Икс { Displaystyle T_ {е cdot g} x = T_ {f} x cdot T_ {g} x} Это следует из правила Лейбница. Это означает, что умножение таких матриц есть коммутативный . Таким образом, матрицы схем разделенных разностей относительно одного и того же набора узлов образуют коммутативное кольцо . С Т ж Икс { displaystyle T_ {f} x} - треугольная матрица, ее собственные значения очевидно ж ( Икс 0 ) , … , ж ( Икс п ) { Displaystyle f (x_ {0}), точки, f (x_ {n})} . Позволять δ ξ { displaystyle delta _ { xi}} быть Дельта Кронекера -подобная функция, то есть δ ξ ( т ) = { 1 : т = ξ , 0 : еще . { displaystyle delta _ { xi} (t) = { begin {cases} 1 &: t = xi, 0 &: { mbox {else}}. end {cases}}} Очевидно ж ⋅ δ ξ = ж ( ξ ) ⋅ δ ξ { Displaystyle е cdot delta _ { xi} = f ( xi) cdot delta _ { xi}} , таким образом δ ξ { displaystyle delta _ { xi}} является собственная функция поточечного умножения функций. То есть Т δ Икс я Икс { displaystyle T _ { delta _ {x_ {i}}} x} это как-то "собственная матрица " из Т ж Икс { displaystyle T_ {f} x} : Т ж Икс ⋅ Т δ Икс я Икс = ж ( Икс я ) ⋅ Т δ Икс я Икс { displaystyle T_ {f} x cdot T _ { delta _ {x_ {i}}} x = f (x_ {i}) cdot T _ { delta _ {x_ {i}}} x} . Однако все столбцы Т δ Икс я Икс { displaystyle T _ { delta _ {x_ {i}}} x} кратны друг другу, ранг матрицы из Т δ Икс я Икс { displaystyle T _ { delta _ {x_ {i}}} x} равно 1. Таким образом, вы можете составить матрицу всех собственных векторов из я { displaystyle i} -й столбец каждого Т δ Икс я Икс { displaystyle T _ { delta _ {x_ {i}}} x} . Обозначим матрицу собственных векторов через U Икс { displaystyle Ux} . Пример U ( Икс 0 , Икс 1 , Икс 2 , Икс 3 ) = ( 1 1 ( Икс 1 − Икс 0 ) 1 ( Икс 2 − Икс 0 ) ⋅ ( Икс 2 − Икс 1 ) 1 ( Икс 3 − Икс 0 ) ⋅ ( Икс 3 − Икс 1 ) ⋅ ( Икс 3 − Икс 2 ) 0 1 1 ( Икс 2 − Икс 1 ) 1 ( Икс 3 − Икс 1 ) ⋅ ( Икс 3 − Икс 2 ) 0 0 1 1 ( Икс 3 − Икс 2 ) 0 0 0 1 ) { displaystyle 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}}} В диагонализация из Т ж Икс { displaystyle T_ {f} x} можно записать как U Икс ⋅ диагональ ( ж ( Икс 0 ) , … , ж ( Икс п ) ) = Т ж Икс ⋅ U Икс { displaystyle Ux cdot operatorname {diag} (f (x_ {0}), dots, f (x_ {n})) = T_ {f} x cdot Ux} . Альтернативные определения
Расширенная форма ж [ Икс 0 ] = ж ( Икс 0 ) ж [ Икс 0 , Икс 1 ] = ж ( Икс 0 ) ( Икс 0 − Икс 1 ) + ж ( Икс 1 ) ( Икс 1 − Икс 0 ) ж [ Икс 0 , Икс 1 , Икс 2 ] = ж ( Икс 0 ) ( Икс 0 − Икс 1 ) ⋅ ( Икс 0 − Икс 2 ) + ж ( Икс 1 ) ( Икс 1 − Икс 0 ) ⋅ ( Икс 1 − Икс 2 ) + ж ( Икс 2 ) ( Икс 2 − Икс 0 ) ⋅ ( Икс 2 − Икс 1 ) ж [ Икс 0 , Икс 1 , Икс 2 , Икс 3 ] = ж ( Икс 0 ) ( Икс 0 − Икс 1 ) ⋅ ( Икс 0 − Икс 2 ) ⋅ ( Икс 0 − Икс 3 ) + ж ( Икс 1 ) ( Икс 1 − Икс 0 ) ⋅ ( Икс 1 − Икс 2 ) ⋅ ( Икс 1 − Икс 3 ) + ж ( Икс 2 ) ( Икс 2 − Икс 0 ) ⋅ ( Икс 2 − Икс 1 ) ⋅ ( Икс 2 − Икс 3 ) + ж ( Икс 3 ) ( Икс 3 − Икс 0 ) ⋅ ( Икс 3 − Икс 1 ) ⋅ ( Икс 3 − Икс 2 ) ж [ Икс 0 , … , Икс п ] = ∑ j = 0 п ж ( Икс j ) ∏ k ∈ { 0 , … , п } ∖ { j } ( Икс j − Икс k ) { displaystyle { begin {align} f [x_ {0}] & = f (x_ {0}) f [x_ {0}, x_ {1}] & = { frac {f (x_ {0}) })} {(x_ {0} -x_ {1})}} + { frac {f (x_ {1})} {(x_ {1} -x_ {0})}} f [x_ { 0}, x_ {1}, x_ {2}] & = { frac {f (x_ {0})} {(x_ {0} -x_ {1}) cdot (x_ {0} -x_ {2 })}} + { frac {f (x_ {1})} {(x_ {1} -x_ {0}) cdot (x_ {1} -x_ {2})}} + { frac {f (x_ {2})} {(x_ {2} -x_ {0}) cdot (x_ {2} -x_ {1})}} f [x_ {0}, x_ {1}, x_ { 2}, x_ {3}] & = { frac {f (x_ {0})} {(x_ {0} -x_ {1}) cdot (x_ {0} -x_ {2}) cdot ( x_ {0} -x_ {3})}} + { frac {f (x_ {1})} {(x_ {1} -x_ {0}) cdot (x_ {1} -x_ {2}) cdot (x_ {1} -x_ {3})}} + { frac {f (x_ {2})} {(x_ {2} -x_ {0}) cdot (x_ {2} -x_ { 1}) cdot (x_ {2} -x_ {3})}} + & quad quad { frac {f (x_ {3})} {(x_ {3} -x_ {0}) cdot (x_ {3} -x_ {1}) cdot (x_ {3} -x_ {2})}} f [x_ {0}, dots, x_ {n}] & = sum _ {j = 0} ^ {n} { frac {f (x_ {j})} { prod _ {k in {0, dots, n } setminus {j }} (x_ { j} -x_ {k})}} конец {выровнено}}}
С помощью полиномиальная функция q { displaystyle q} с q ( ξ ) = ( ξ − Икс 0 ) ⋯ ( ξ − Икс п ) { Displaystyle д ( xi) = ( xi -x_ {0}) cdots ( xi -x_ {n})} это можно записать как
ж [ Икс 0 , … , Икс п ] = ∑ j = 0 п ж ( Икс j ) q ′ ( Икс j ) . { displaystyle f [x_ {0}, dots, x_ {n}] = sum _ {j = 0} ^ {n} { frac {f (x_ {j})} {q '(x_ {j })}}.} В качестве альтернативы мы можем разрешить отсчет в обратном порядке от начала последовательности, определив Икс k = Икс k + п + 1 = Икс k − ( п + 1 ) { Displaystyle х_ {к} = х_ {к + п + 1} = х_ {к- (п + 1)}} в любое время k < 0 { displaystyle k <0} или же п < k { Displaystyle п <к} . Это определение позволяет Икс − 1 { displaystyle x _ {- 1}} интерпретироваться как Икс п { displaystyle x_ {n}} , Икс − 2 { displaystyle x _ {- 2}} интерпретироваться как Икс п − 1 { displaystyle x_ {n-1}} , Икс − п { displaystyle x _ {- n}} интерпретироваться как Икс 0 { displaystyle x_ {0}} и т.д. Таким образом, расширенная форма разделенной разницы становится
ж [ Икс 0 , … , Икс п ] = ∑ j = 0 п ж ( Икс j ) ∏ k = j − п j − 1 ( Икс j − Икс k ) + ∑ j = 0 п ж ( Икс j ) ∏ k = j + 1 j + п ( Икс j − Икс k ) { displaystyle f [x_ {0}, dots, x_ {n}] = sum _ {j = 0} ^ {n} { frac {f (x_ {j})} { prod limits _ { k = jn} ^ {j-1} (x_ {j} -x_ {k})}} + sum _ {j = 0} ^ {n} { frac {f (x_ {j})} { prod limits _ {k = j + 1} ^ {j + n} (x_ {j} -x_ {k})}}}
Еще одна характеристика использует ограничения:
ж [ Икс 0 , … , Икс п ] = ∑ j = 0 п Lim Икс → Икс j [ ж ( Икс j ) ( Икс − Икс j ) ∏ k = 0 п ( Икс − Икс k ) ] { displaystyle f [x_ {0}, dots, x_ {n}] = sum _ {j = 0} ^ {n} lim _ {x rightarrow x_ {j}} left [{ frac { f (x_ {j}) (x-x_ {j})} { prod limits _ {k = 0} ^ {n} (x-x_ {k})}} right]}
Неполные фракции Вы можете представлять частичные фракции с использованием развернутой формы разделенных разностей. (Это не упрощает вычисление, но интересно само по себе.) Если п { displaystyle p} и q { displaystyle q} находятся полиномиальные функции , куда d е грамм п < d е грамм q { Displaystyle mathrm {deg} p < mathrm {deg} q} и q { displaystyle q} дается с точки зрения линейные факторы к q ( ξ ) = ( ξ − Икс 1 ) ⋅ ⋯ ⋅ ( ξ − Икс п ) { Displaystyle д ( хи) = ( хи -x_ {1}) cdot точки cdot ( xi -x_ {n})} , то из разложения на частную дробь следует, что
п ( ξ ) q ( ξ ) = ( т → п ( т ) ξ − т ) [ Икс 1 , … , Икс п ] . { Displaystyle { гидроразрыва {p ( xi)} {q ( xi)}} = left (t to { frac {p (t)} { xi -t}} right) [x_ { 1}, dots, x_ {n}].} Если пределы разделенных разностей, то эта связь верна, если некоторые из Икс j { displaystyle x_ {j}} совпадают.
Если ж { displaystyle f} является полиномиальной функцией произвольной степени и разлагается на ж ( Икс ) = п ( Икс ) + q ( Икс ) ⋅ d ( Икс ) { Displaystyle е (х) = п (х) + q (х) cdot d (х)} с помощью полиномиальное деление из ж { displaystyle f} к q { displaystyle q} ,тогда
п ( ξ ) q ( ξ ) = ( т → ж ( т ) ξ − т ) [ Икс 1 , … , Икс п ] . { displaystyle { frac {p ( xi)} {q ( xi)}} = left (t to { frac {f (t)} { xi -t}} right) [x_ { 1}, dots, x_ {n}].} Форма Пеано Разделенные различия могут быть выражены как
ж [ Икс 0 , … , Икс п ] = 1 п ! ∫ Икс 0 Икс п ж ( п ) ( т ) B п − 1 ( т ) d т { displaystyle f [x_ {0}, ldots, x_ {n}] = { frac {1} {n!}} int _ {x_ {0}} ^ {x_ {n}} f ^ {( n)} (t) B_ {n-1} (t) , dt} куда B п − 1 { displaystyle B_ {n-1}} это B-шлиц степени п − 1 { displaystyle n-1} для точек данных Икс 0 , … , Икс п { displaystyle x_ {0}, dots, x_ {n}} и ж ( п ) { displaystyle f ^ {(n)}} это п { displaystyle n} -й производная функции ж { displaystyle f} .
Это называется Форма Пеано разделенных различий и B п − 1 { displaystyle B_ {n-1}} называется Ядро Пеано для разделенных различий, оба названы в честь Джузеппе Пеано .
Форма Тейлора Первый заказ Если узлы накапливаются, то численное вычисление разделенных разностей неточно, потому что вы делите почти два нуля, каждый из которых имеет высокую относительная ошибка из-за различия одинаковых ценностей . Однако мы знаем, что коэффициенты разницы приблизительно производная наоборот:
ж ( y ) − ж ( Икс ) y − Икс ≈ ж ′ ( Икс ) { Displaystyle { гидроразрыва {f (y) -f (x)} {y-x}} приблизительно f '(x)} за Икс ≈ y { Displaystyle х приблизительно у} Это приближение можно превратить в тождество всякий раз, когда Теорема Тейлора применяется.
ж ( y ) = ж ( Икс ) + ж ′ ( Икс ) ⋅ ( y − Икс ) + ж ″ ( Икс ) ⋅ ( y − Икс ) 2 2 ! + ж ‴ ( Икс ) ⋅ ( y − Икс ) 3 3 ! + … { Displaystyle f (y) = f (x) + f '(x) cdot (yx) + f' '(x) cdot { frac {(yx) ^ {2}} {2!}} + f '' '(x) cdot { frac {(yx) ^ {3}} {3!}} + точки} ⇒ ж ( y ) − ж ( Икс ) y − Икс = ж ′ ( Икс ) + ж ″ ( Икс ) ⋅ y − Икс 2 ! + ж ‴ ( Икс ) ⋅ ( y − Икс ) 2 3 ! + … { displaystyle Rightarrow { frac {f (y) -f (x)} {yx}} = f '(x) + f' '(x) cdot { frac {yx} {2!}} + f '' '(x) cdot { frac {(yx) ^ {2}} {3!}} + точки} Вы можете устранить нечетные возможности y − Икс { displaystyle y-x} за счет расширения Серия Тейлор в центре между Икс { displaystyle x} и y { displaystyle y} :
Икс = м − час , y = м + час { Displaystyle х = m-h, y = m + h} , то есть м = Икс + y 2 , час = y − Икс 2 { displaystyle m = { frac {x + y} {2}}, h = { frac {y-x} {2}}} ж ( м + час ) = ж ( м ) + ж ′ ( м ) ⋅ час + ж ″ ( м ) ⋅ час 2 2 ! + ж ‴ ( м ) ⋅ час 3 3 ! + … { displaystyle f (m + h) = f (m) + f '(m) cdot h + f' '(m) cdot { frac {h ^ {2}} {2!}} + f' '' (м) cdot { frac {h ^ {3}} {3!}} + точки} ж ( м − час ) = ж ( м ) − ж ′ ( м ) ⋅ час + ж ″ ( м ) ⋅ час 2 2 ! − ж ‴ ( м ) ⋅ час 3 3 ! + … { displaystyle f (mh) = f (m) -f '(m) cdot h + f' '(m) cdot { frac {h ^ {2}} {2!}} - f' '' (м) cdot { frac {h ^ {3}} {3!}} + точки} ж ( y ) − ж ( Икс ) y − Икс = ж ( м + час ) − ж ( м − час ) 2 ⋅ час = ж ′ ( м ) + ж ‴ ( м ) ⋅ час 2 3 ! + … { displaystyle { frac {f (y) -f (x)} {yx}} = { frac {f (m + h) -f (mh)} {2 cdot h}} = f '(m ) + f '' '(m) cdot { frac {h ^ {2}} {3!}} + точки} Более высокого порядка Серия Тейлора или любое другое представление с функциональная серия в принципе может использоваться для аппроксимации разделенных разностей. Ряды Тейлора представляют собой бесконечные суммы степенные функции . Отображение из функции ж { displaystyle f} к разделенной разнице ж [ Икс 0 , … , Икс п ] { displaystyle f [x_ {0}, dots, x_ {n}]} это линейный функционал . Мы также можем применить этот функционал к слагаемым функциям.
Выразите обозначение мощности с помощью обычной функции: п п ( Икс ) = Икс п . { displaystyle p_ {n} (x) = x ^ {n}.}
Регулярный ряд Тейлора представляет собой взвешенную сумму степенных функций: ж = ж ( 0 ) ⋅ п 0 + ж ′ ( 0 ) ⋅ п 1 + ж ″ ( 0 ) 2 ! ⋅ п 2 + ж ‴ ( 0 ) 3 ! ⋅ п 3 + … { displaystyle f = f (0) cdot p_ {0} + f '(0) cdot p_ {1} + { frac {f' '(0)} {2!}} cdot p_ {2} + { frac {f '' '(0)} {3!}} cdot p_ {3} + dots}
Ряд Тейлора для разделенных разностей: ж [ Икс 0 , … , Икс п ] = ж ( 0 ) ⋅ п 0 [ Икс 0 , … , Икс п ] + ж ′ ( 0 ) ⋅ п 1 [ Икс 0 , … , Икс п ] + ж ″ ( 0 ) 2 ! ⋅ п 2 [ Икс 0 , … , Икс п ] + ж ‴ ( 0 ) 3 ! ⋅ п 3 [ Икс 0 , … , Икс п ] + … { displaystyle f [x_ {0}, dots, x_ {n}] = f (0) cdot p_ {0} [x_ {0}, dots, x_ {n}] + f '(0) cdot p_ {1} [x_ {0}, dots, x_ {n}] + { frac {f '' (0)} {2!}} cdot p_ {2} [x_ {0}, dots , x_ {n}] + { frac {f '' '(0)} {3!}} cdot p_ {3} [x_ {0}, dots, x_ {n}] + dots}
Мы знаем, что первый п { displaystyle n} члены исчезают, потому что у нас более высокий порядок разности, чем полиномиальный порядок, и в следующем члене разделенная разность равна единице:
∀ j < п п j [ Икс 0 , … , Икс п ] = 0 п п [ Икс 0 , … , Икс п ] = 1 п п + 1 [ Икс 0 , … , Икс п ] = Икс 0 + ⋯ + Икс п п п + м [ Икс 0 , … , Икс п ] = ∑ а ∈ { 0 , … , п } м с а 1 ≤ а 2 ≤ ⋯ ≤ а м ∏ j ∈ а Икс j . { displaystyle { begin {array} {llcl} forall j Отсюда следует, что ряд Тейлора для разделенной разности по существу начинается с ж ( п ) ( 0 ) п ! { displaystyle { frac {f ^ {(n)} (0)} {n!}}} что также является простой аппроксимацией разделенной разности, согласно Теорема о среднем значении для разделенных разностей .
Если бы нам пришлось вычислять разделенные разности для степенных функций обычным способом, мы бы столкнулись с теми же численными проблемами, что и при вычислении разделенной разности ж { displaystyle f} . Приятно то, что есть способ попроще.
т п = ( 1 − Икс 0 ⋅ т ) ⋯ ⋅ ( 1 − Икс п ⋅ т ) ⋅ ( п 0 [ Икс 0 , … , Икс п ] + п 1 [ Икс 0 , … , Икс п ] ⋅ т + п 2 [ Икс 0 , … , Икс п ] ⋅ т 2 + … ) . { displaystyle 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} + точки).} Следовательно, мы можем вычислить разделенные разности п п { displaystyle p_ {n}} по разделение из формальный степенной ряд . Посмотрите, как это сводится к последовательному вычислению степеней, когда мы вычисляем п п [ час ] { displaystyle p_ {n} [h]} для нескольких п { displaystyle n} .
Если вам нужно вычислить всю схему разделенных разностей относительно ряда Тейлора, см. Раздел о разделенных разностях степенной ряд .
Полиномы и степенные ряды
Разделенные разности полиномов особенно интересны, потому что они могут извлечь выгоду из правила Лейбница. J { displaystyle J} с
J = ( Икс 0 1 0 0 ⋯ 0 0 Икс 1 1 0 ⋯ 0 0 0 Икс 2 1 0 ⋮ ⋮ ⋱ ⋱ 0 0 0 0 Икс п ) { displaystyle 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}}} содержит схему разделенных разностей для функция идентичности относительно узлов Икс 0 , … , Икс п { displaystyle x_ {0}, dots, x_ {n}} ,таким образом J п { displaystyle J ^ {n}} содержит разделенные различия для степенная функция с показатель степени п { displaystyle n} Следовательно, вы можете получить разделенные разницы для полиномиальная функция φ ( п ) { displaystyle varphi (p)} с уважением к многочлен п { displaystyle p} применяя п { displaystyle p} (точнее: соответствующая ей матричная полиномиальная функция φ M ( п ) { displaystyle varphi _ { mathrm {M}} (p)} ) к матрице J { displaystyle J} .
φ ( п ) ( ξ ) = а 0 + а 1 ⋅ ξ + ⋯ + а п ⋅ ξ п { displaystyle varphi (p) ( xi) = a_ {0} + a_ {1} cdot xi + dots + a_ {n} cdot xi ^ {n}} φ M ( п ) ( J ) = а 0 + а 1 ⋅ J + ⋯ + а п ⋅ J п { displaystyle varphi _ { mathrm {M}} (p) (J) = a_ {0} + a_ {1} cdot J + dots + a_ {n} cdot J ^ {n}} = ( φ ( п ) [ Икс 0 ] φ ( п ) [ Икс 0 , Икс 1 ] φ ( п ) [ Икс 0 , Икс 1 , Икс 2 ] … φ ( п ) [ Икс 0 , … , Икс п ] 0 φ ( п ) [ Икс 1 ] φ ( п ) [ Икс 1 , Икс 2 ] … φ ( п ) [ Икс 1 , … , Икс п ] ⋮ ⋱ ⋱ ⋱ ⋮ 0 … 0 0 φ ( п ) [ Икс п ] ) { displaystyle = { 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}}} Это известно как Формула Опица .[2] [3]
Теперь рассмотрим увеличение степени п { displaystyle p} до бесконечности, т.е. превратить многочлен Тейлора в Серия Тейлор .Позволять ж { displaystyle f} - функция, соответствующая степенной ряд Вы можете вычислить схему разделенных разностей, вычислив соответствующий матричный ряд, применяемый к J { displaystyle J} .Если узлы Икс 0 , … , Икс п { displaystyle x_ {0}, dots, x_ {n}} все равны, то J { displaystyle J} это Иорданский блок и вычисление сводится к обобщению скалярной функции на матричная функция с помощью Разложение Жордана .
Прямые различия
Когда точки данных распределены равномерно, мы получаем специальный случай, называемый форвардные различия . Их легче вычислить, чем более общие разделенные разности.
Обратите внимание, что «разделенная часть» из прямая разделенная разница еще должны быть вычислены, чтобы восстановить прямая разделенная разница от форвардная разница .
Определение Данный п точки данных
( Икс 0 , y 0 ) , … , ( Икс п − 1 , y п − 1 ) { displaystyle (x_ {0}, y_ {0}), ldots, (x_ {n-1}, y_ {n-1})} с
Икс ν = Икс 0 + ν час , час > 0 , ν = 0 , … , п − 1 { displaystyle x _ { nu} = x_ {0} + nu h, h> 0, nu = 0, ldots, n-1} разделенные разницы можно рассчитать с помощью форвардные различия определяется как
Δ ( 0 ) y я := y я { displaystyle Delta ^ {(0)} y_ {i}: = y_ {i}} Δ ( k ) y я := Δ ( k − 1 ) y я + 1 − Δ ( k − 1 ) y я , k ≥ 1. { Displaystyle Delta ^ {(k)} y_ {i}: = Delta ^ {(k-1)} y_ {i + 1} - Delta ^ {(k-1)} y_ {i}, k geq 1.} Связь между разделенными разностями и прямыми разностями:[4]
ж [ Икс 0 , Икс 1 , … , Икс k ] = 1 k ! час k Δ ( k ) ж ( Икс 0 ) . { displaystyle f [x_ {0}, x_ {1}, ldots, x_ {k}] = { frac {1} {k! h ^ {k}}} Delta ^ {(k)} f ( x_ {0}).} Пример y 0 Δ y 0 y 1 Δ 2 y 0 Δ y 1 Δ 3 y 0 y 2 Δ 2 y 1 Δ y 2 y 3 { 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} &&& конец {матрица}}} Смотрите также
Рекомендации
^ Исааксон, Уолтер (2014). Новаторы . Саймон и Шустер. п. 20. ISBN 978-1-4767-0869-0 . ^ де Бур, Карл , Разделенные различия , Surv. Прибл. Теория 1 (2005), 46–69, [1] ^ Опиц, Г. Steigungsmatrizen , З. Энгью. Математика. Мех. (1964), 44, Т52 – Т54 ^ Бэрден, Ричард Л .; Faires, Дж. Дуглас (2011). Числовой анализ (9-е изд.). п.129 . Луи Мелвилл Милн-Томсон (2000) [1933]. Исчисление конечных разностей . American Mathematical Soc. Глава 1: Разделенные различия. ISBN 978-0-8218-2107-7 .Майрон Б. Аллен; Эли Л. Исааксон (1998). Численный анализ для прикладных наук . Джон Вили и сыновья. Приложение. ISBN 978-1-118-03027-1 . Рон Голдман (2002). Алгоритмы пирамиды: подход к динамическому программированию кривых и поверхностей для геометрического моделирования . Морган Кауфманн. Глава 4: Интерполяция Ньютона и разностные треугольники. ISBN 978-0-08-051547-2 . внешняя ссылка