cd. Uwagi o różniczkowaniu numerycznym Izolda Gorgol wyciąg z

Transkrypt

cd. Uwagi o różniczkowaniu numerycznym Izolda Gorgol wyciąg z
Całkowanie numeryczne – cd.
Uwagi o różniczkowaniu numerycznym
Izolda Gorgol
wyciąg z prezentacji
Ekstrapolacja Richardsona
Służy do przyspieszania zbieżności niektórych procedur numerycznych.
L – wartość obliczana;
φ(h) – przybliżenie wartości L;
Jeśli spełniona jest tożsamość
L = φ(h) + a2 h2 + a4 h4 + a6 h6 + . . . ,
to, stosując odpowiednie przekształcenia arytmetyczne, możemy otrzymać
L = ψ(h) + b4 h4 + b6 h6 + . . . ,
gdzie ψ(h) zależy liniowo od φ(h) oraz φ( h2 ).
Ekstrapolacja Richardsona – ujęcie rekurencyjne
M początkowych kroków:
1. D(n, 0) = φ( 2hn ),
n = 0, 1, 2, . . . , M
D(n, k − 1) − D(n − 1, k − 1)
2. D(n, k) = D(n, k − 1) +
,
4k − 1
k = 1, 2, . . . , M , n = k, k + 1, . . . , M
UWAGA Najczęściej M nie jest zbyt duże, gdyż z jednej strony należy obliczyć wartość w 2M + 1 punktach, a z
drugiej uzyskujemy szybki wzrost rzędu zbieżności.
Ekstrapolacja Richardsona – trójkątna tablica
Wyniki obliczeń można umieścić w następującej trójkątnej tablicy:
D(0, 0)
D(1, 0)
D(1, 1)
D(2, 0)
D(2, 1)
D(2, 2)
D(3, 0)
D(3, 1)
D(3, 2)
D(3, 3)
..
..
..
..
..
.
.
.
.
.
D(M, 0) D(M, 1) D(M, 2) D(M, 3) · · · D(M, M )
Złożona kwadratura trapezów a ekstrapolacja Richardsona
TWIERDZENIE Formuła Eulera-Maclaurina
Dla funkcji f ∈ C (2m+2) ([a, b]), błąd złożonej kwadratury trapezów T̄k wyraża się wzorem
m
X
I(f ) − T̄k (f ) =
ci h2i f (2i−1) (b) − f (2i−1) (a)
+ cm+1 h2m+2 (b − a)f (2m+2) (ξm,k ),
i=1
gdzie h = (b − a)/k, ξm,k ∈ [a, b], a ci są pewnymi stałymi liczbowymi. Mamy c1 = −1/12, c2 = −1/720 i, ogólnie,
ci = Bi /(2i)!, gdzie Bi są tzw. liczbami Bernoulliego.
A zatem do złożonej kwadratury trapezów można zastosować ekstrapolację Richardsona.
Kwadratury Romberga
Są to kwadratury oparte na kwadraturach trapezów, do których zastosowano ekstrapolację Richardsona.
b−a
2n
b−a
R(0, 0) =
(f (a) + f (b)) R(n, 0) = T̄2n (f ),
2
hn =
1
4 R(n, 0) − R(n − 1, 0)
,
3
R(n, m − 1) − R(n − 1, m − 1)
R(n, m) = R(n, m − 1) +
.
4m − 1
R(n, 1) =
Kwadratury Romberga - konstrukcja
Dla danej funkcji f można je łatwo konstruować za pomocą następującej tablicy trójkątnej:
R(0, 0)
R(1, 0)
R(1, 1)
R(2, 0)
R(2, 1)
R(2, 2)
R(3, 0)
R(3, 1)
R(3, 2)
R(3, 3)
..
..
..
..
..
.
.
.
.
.
R(M, 0) R(M, 1) R(M, 2) R(M, 3) · · · R(M, M )
Pierwszą kolumnę w tablicy można uzupełnić korzystając z następującego wzoru rekurencyjnego:
n−1
2X
1
R(n, 0) = R(n − 1, 0) + hn
f (a + (2i − 1)hn ).
2
i=1
Różniczkowanie – uwarunkowanie zadania
f, f˜ różniczkowalne na (a, b)
||f˜ − f ||C(a,b) 6 6⇒ ||f˜0 − f 0 ||C(a,b) 6 C
Zadanie różniczkowania jest bardzo źle uwarunkowane (źle postawione).
Przybliżanie pochodnej w punkcie
f (x + h) − f (x)
, różnica progresywna
h
f (x) − f (x − h)
— f 0 (x) ≈
, różnica wsteczna
h
f
(x
+
h)
−
f
(x
−
h)
— f 0 (x) ≈
. różnica centralna
2h
Różnice progresywna i wsteczna są rzędu h, zaś centralna jest rzędu h2 .
— f 0 (x) ≈
I znów ta arytmetyka zmiennopozycyjna
Teoretycznie im h mniejsze tym lepiej.
W praktyce numerycznej – nie, gdyż może dojść do utraty cyfr znaczących.
Może się zdarzyć, że f lν (x + h) = f lν (x), co będzie oznaczało (niezgodnie z prawdą), że f 0 (x) ≈ 0.
Różnica centralna a ekstrapolacja Richardsona
UWAGA Postać błędu przy obliczaniu pochodnej funkcji w punkcie przy użyciu różnicy centralnej pozwala zastosować w tym przypadku ekstrapolację Richardsona.
Różniczkowanie za pomocą wielomianów interpolacyjnych
I krok – przybliżamy funkcję wielomianem interpolacyjnym.
II krok – obliczamy pochodną wielomianu w punkcie i przyjmujemy ją za pochodną funkcji.
różnica progresywna – pochodna wielomianu interpolacyjnego opartego na węzłach x, x + h;
różnica wsteczna – pochodna wielomianu interpolacyjnego opartego na węzłach x − h, x;
różnica centralna – pochodna wielomianu interpolacyjnego opartego na węzłach x − h, x, x + h.
2