Uniwersytet Wrocławski Wydział Matematyki i Informatyki Instytut Informatyki kierunek: informatyka Grzegorz Świderski Metoda pseudospektralna dla stochastycznych równań różniczkowych Praca magisterska napisana pod kierunkiem dr. hab. Pawła Woźnego Wrocław 2015
Oświadczam, że pracę magisterską wykonałem samodzielnie i zgłaszam ją do oceny. Data:... Podpis autora pracy:... Oświadczam, że praca jest gotowa do oceny przez recenzenta. Data:... Podpis opiekuna pracy:...
Spis treści 1. Wstęp............................................ 4 2. Notacja i oznaczenia................................... 6 3. Wielomiany ortogonalne................................. 7 3.1. Wielomiany Jacobiego................................. 8 3.2. Wielomiany Laguerre a................................ 9 3.3. Wielomiany Hermite a................................. 11 4. Rozkłady zmiennych losowych............................. 11 4.1. Rozkład Beta...................................... 12 4.2. Rozkład Gamma.................................... 13 4.3. Rozkład Normalny................................... 14 5. Kwadratury......................................... 15 5.1. Sformułowanie zadania................................ 15 5.2. Kwadratura Gaussa.................................. 16 5.3. Zamiana przedziału całkowania na przedział ( 1, 1)................ 17 5.4. Kwadratura Clenshawa-Curtisa............................ 17 5.5. Kwadratura Fejéra (II rodzaju)............................ 18 6. Kubatury.......................................... 19 6.1. Sformułowanie zadania................................ 19 6.2. Kubatury tensorowe.................................. 19 6.3. Kubatura Smolyaka.................................. 20 7. Chaos wielomianowy................................... 21 7.1. Przypadek jednej zmiennej losowej.......................... 21 7.2. Przypadek ogólny................................... 22 7.3. Obliczanie statystyk.................................. 23 8. Numeryczne rozwiązywanie równań różniczkowych............... 23 8.1. Metoda Rungego-Kutty 4. rzędu........................... 23 8.2. Metoda różnic skończonych dla stacjonarnego równania dyfuzji.......... 24 9. Metoda pseudospektralna................................ 25 10.Algorytmy numeryczne użyte w implementacji.................. 25 10.1. Algorytm Clenshawa.................................. 25 10.2. Obliczanie zmodyfikowanych momentów Czebyszewa................ 26 10.2.1. Momenty pierwszego rodzaju......................... 26 10.2.2. Momenty drugiego rodzaju.......................... 28 10.3. Algorytm Olivera-Loziera............................... 28 10.4. Obliczanie wag kwadratur............................... 28 10.4.1. Przypadek kwadratury Gaussa........................ 28 10.4.2. Obliczanie dyskretnej transformaty sinusowej I rodzaju.......... 29 10.4.3. Przypadek kwadratury Clenshawa-Curtisa................. 30 10.4.4. Przypadek kwadratury Fejéra........................ 31 11.Przykłady.......................................... 31 11.1. Model Malthusa.................................... 31 11.1.1. Ujemny współczynnik wzrostu........................ 31 11.1.2. Dodatni współczynnik wzrostu........................ 32 11.1.3. Niestabilność numeryczna.......................... 35 11.2. Stacjonarne równanie dyfuzji............................. 36 11.2.1. Mieszane rozkłady............................... 38 3
4 1. Wstęp 11.2.2. Rozkłady Beta................................. 40 11.3. Pewien model pracy transformatora......................... 41 11.3.1. Rozkłady Beta................................. 41 11.3.2. Mieszane rozkłady............................... 42 12.Testy pozostałych algorytmów numerycznych................... 44 12.1. Obliczanie zmodyfikowanych momentów....................... 44 12.2. Kwadratury na przedziale ( 1, 1).......................... 47 12.3. Kubatury w kostce ( 1, 1) d.............................. 48 12.4. Zamiana zmiennych na ( 1, 1)............................ 48 12.5. Zamiana zmiennych na ( 1, 1) d............................ 50 13.Dokumentacja programisty............................... 51 13.1. Plik momenty.mpl................................... 51 13.2. Plik kwadratury.mpl................................. 52 13.3. Plik kubatury.mpl................................... 54 13.4. Plik wielomianyortogonalne.mpl.......................... 55 13.5. Plik rozkladyzmiennychlosowych.mpl....................... 56 13.6. Plik wektorylosowe.mpl............................... 57 13.7. Plik kolokacja.mpl.................................. 59 14.Dokumentacja użytkownika............................... 60 Literatura............................................ 61 1. Wstęp Rozważmy przykładowy model przepływu ładunku w obwodzie elektrycznym. Ładunek Q(t) w chwili t spełnia równanie różniczkowe L Q (t) + R Q (t) + 1 Q(t) = F (t), C Q(0) = Q 0, Q (0) = I 0, (1.1) gdzie R opór, L to indukcyjność, C pojemność a F (t) to potencjał źródła w chwili t. Jak widzimy w równaniu (1.1) występują parametry będące liczbami: R, L, C, Q 0 i I 0 oraz parametr F (t) będący funkcją. W praktyce powyższe parametry są dobierane poprzez eksperymentalny pomiar odpowiednich wielkości. Każdy pomiar jest obarczony pewnym błędem. Z tego powodu nawet jeśli model (1.1) jest adekwatny, to rozwiązania nie będą dokładnie odpowiadać obserwowanemu zjawisku. Z praktycznego punktu widzenia ważnym zadaniem jest zbadanie na ile błędy pomiaru powodują zmianę trajektorii rozwiązania. Jeśli zmiana jest duża, to ze względu na błędy pomiaru nie będziemy w stanie dobrze przewidzieć ewolucji badanego układu. W statystyce pomiar to realizacja pewnej zmiennej losowej ze znanej rodziny rozkładów, ale o nieznanych parametrach. Często używaną rodziną rozkładów jest na przykład rodzina rokładów normalnych {N (m, σ 2 ): m R, σ 2 > 0} o nieznanej wartości oczekiwanej m oraz nieznanej wariancji σ 2. Statystyka podaje metody jak powtarzając wielokrotnie eksperyment, można otrzymać przybliżenie nieznanych parametrów. Używając powyższej statystycznej interpretacji możemy rozumieć równanie (1.1) w ten sposób, że nieznane parametry liczbowe są zmiennymi losowymi o znanym rozkładzie. Wtedy rozwiązanie równania (1.1) przestaje być deterministyczne i staje się tzw. procesem stochastycznym. Wówczas możemy zapytać się o różne statystyki rozwiązania tego
równania. Na przykład wielkość wariancji mówi, na ile trajektorie rozwiązań są wrażliwe na niepewność pomiaru. Istnieje wiele metod rozwiązywania takich równań. Popularnym podejściem są tzw. metody Monte-Carlo (zob. [20]) polegające na (wielokrotnym) generowaniu wartości niezależnych zmiennych losowych mających rozkłady naszych parametrów. Następnie obliczane są rozwiązania równania dla tak ustalonej wartości parametrów. W końcu metodami statystycznymi obliczamy z nich szukane statystyki. Znaną wadą metody Monte-Carlo jest jej wolne tempo zbieżności. Poza tym ze względu na jej losowość nie można mieć pewności na ile otrzymany wynik nie jest przypadkowy. Innym podejściem są metody deterministyczne. Jedną z możliwości jest metoda Galerkina (zob. [20]), która polega na rozwiązywaniu odpowiednio zbudowanego układu równań różniczkowych związanych z badanym równaniem. W tym wypadku czasami rozwiązywany układ jest dużo bardziej skomplikowany i wymaga tworzenia (czasami zupełnie) nowych metod numerycznych. Czyli w tym przypadku do konkretnego równania i rozkładów musimy podchodzić indywidualnie. Metoda prezentowana w tej pracy jest deterministyczna i jest oparta na pomyśle rozwinięcia rozwiązania w postaci sumy wielomianów ortogonalnych względem odpowiedniego iloczynu skalarnego. W tym celu zakładamy, że wszystkie występujące parametry da się sparametryzować za pomocą skończonej ilości niezależnych zmiennych losowych. Prezentowana metoda jest podobna do metody Monte-Carlo w tym sensie, że musimy jedynie umieć rozwiązywać równanie z ustalonymi wartościami parametrów. Dla takich równań mamy zazwyczaj dobre metody numeryczne je rozwiązujące. Jedną z jej zalet jest szybsze tempo zbieżności (przy umiarkowanej liczbie parametrów) do rozwiązania w porównaniu do metod Monte-Carlo (zob. [4]). Inną zaletą jest to, że jest ona deterministyczna. Założenie, że parametry zależą od skończonej liczby zmiennych losowych z matematycznego punktu widzenia wydaje się dość restrykcyjne. Jednakże bardziej ogólne równania stochastyczne (zob. [11]) da się w pewnym stopniu przybliżać za pomocą tego modelu. W wypadku procesów gaussowskich da się to zrobić za pomocą tzw. transformaty Karhunena Loève (zob. [20]). W ogólnym wypadku metody dyskretyzacji prowadzą również do opisywanego modelu (zob. [21]). Teraz parę słów o strukturze pracy. W rozdziale 2 zamieszczamy podstawowe oznaczenia używane dalej. Następnie. w rozdziale 3, przedstawiamy podstawy ogólnej teorii wielomianów ortogonalnych oraz ich szczególne przypadki. Dalej, w rozdziale 4, podajemy podstawowe definicje teorii prawdopodobieństwa, najważniejsze rozkłady oraz ich związki z wielomianami ortogonalnymi. Zadanie obliczania statystyk wymagać będzie umiejętności obliczania całek po wielowymiarowym obszarze. Pokażemy jak to wykonać: w rozdziale 5 rozpatrzymy przypadek jednowymiarowy, natomiast w rozdziale 6 zbadamy ogólny przypadek. W rozdziale 7 przedstawimy jak przybliżać funkcje za pomocą wielomianów oraz jak wówczas z tego przybliżenia obliczać poszukiwane statystyki. W rozdziale 8 przedstawimy używane w pracy metody rozwiązywania numerycznego równań różniczkowych, natomiast w rozdziale 9 jak zebrane w ten sposób informacje użyć do rozwiązania głównego zadania. W rozdziale 10 przedstawiono pewne pomocnicze algorytmy numeryczne. W rozdziale 11, na kilku przykładach, przedstawiono, jak skuteczna jest opisana metoda rozwiązywania równań. Natomiast w rozdziale 12 pokazano testy pomocniczych algorytmów numerycznych. Dokumentację programisty zamieszczono w rozdziale 13, natomiast sposób obsługi przygotowanego programu zamieszczono w rozdziale 14. 5
6 2. Notacja i oznaczenia 2. Notacja i oznaczenia Niech µ będzie miarą na przestrzeni X, a B(X) niech będzie rodziną zbiorów borelowskich na X (por. np. [14, rozdz. 1]). Dla każdej funkcji f : X C oraz p [1, ) normę związaną z miarą µ definiujemy wzorem: ( 1/p f L p (µ) := f(x) dµ(x)) p. X Zbiór wszystkich funkcji f spełniających warunek f L p (µ) < oznaczamy poprzez L p (µ). Jeśli miara µ ma gęstość w względem miary Lebesgue a (por. np. [14, rozdz. 2, rozdz. 6]), to będziemy używać również oznaczenia L p (w(x)dx). Jeżeli miara µ jest znana z kontekstu będziemy pisać po prostu L p. Dla funkcji f, g L 2 (µ) ich iloczyn skalarny definiujemy wzorem f, g := f(x)g(x)dµ(x). (2.1) Wówczas X f L 2 (µ) = f, f. Można pokazać, że L 2 (µ) z iloczynem skalarnym (2.1) jest przestrzenią Hilberta (zob. np. [14, rozdz. 4]). Dla funkcji określonych na R będziemy używać następujących oznaczeń: C c (R) zbiór funkcji ciągłych o zwartym nośniku, Cc (R) zbiór wszystkich funkcji nieskończenie wiele razy różniczkowalnych o zwartym nośniku. Dla a > 0, b > 0 oraz z C definiujemy funkcję hipergeometryczną F (a; b; z) wzorem F (a; b; z) = k=0 a k b k z k k!, (2.2) gdzie dla x R definiujemy potęgę przyrastającą poprzez x k = x(x + 1)... (x + k 1). Dla a > 0 funkcja Gamma zadana jest wzorem natomiast Γ(a) := B(α, β) := 1 0 0 x a 1 e x dx, x α 1 (1 x) β 1 dx, to funkcja Beta określona dla α > 0, β > 0. Można sprawdzić, że funkcje Gamma i Beta łączy następująca zależność: B(α, β) = Γ(α)Γ(β) Γ(α + β). Symbol dwumianowy ( ) x y określamy wzorem ( ) x := y 1 (x + 1)B(x y + 1, y + 1).
7 Dla zbioru A funkcję indykatorową 1 A określamy wzorem 1 jeśli x A, 1 A (x) := 0 w p.p. Wielowskaźnikiem nazywamy d wyrazowy ciąg i = (i 1, i 2,..., i d ) liczb całkowitych nieujemnych. Długość wielowskaźnika i to suma jego wyrazów, tzn. i 1 := i 1 + i 2 +... + i d. Dla wektora x = (x 1, x 2,..., x d ) oraz wielowskaźnika i = (i 1, i 2,..., i d ) definiujemy jednomian x i wzorem x i := x i 1 1 x i 2 2... x i d d, wówczas jego stopniem nazywamy ciąg i. Wprowadzamy relację częściowego porządku pomiędzy stopniami długości d. Mówimy, że i j, jeśli j k i k 0 (k = 1, 2,..., d). Przestrzeń wszystkich wielomianów d zmiennych całkowitego stopnia co najwyżej N określamy jako P d N := c i x i : c i R. (2.3) i 1 N Jeżeli d = 1, to będziemy również używać oznaczenia P N. Dla wielomianu p jego stopniem całkowitym nazywamy najmniejszą liczbę N taką, że p P d N. Wówczas jego stopniem nazywamy najmniejsze ograniczenie górne ze względu na porządek zbioru {i: c i 0}, gdzie c i to współczynniki występujące w reprezentacji (2.3). Deltą Kroneckera δ ij nazywamy funkcję postaci 1 jeśli i = j, δ ij := 0 w p.p. Dla wielowskaźników i oraz j symbol δ ij rozumiemy w następujący sposób: δ ij := δ i1 j 1 δ i2 j 2... δ id j d. Będziemy używać następujących oznaczeń: n k=m n k=m a k := 1 2 a m + a k := 1 2 a m + n k=m+1 n 1 k=m+1 a k, (2.4) a k + 1 2 a n. (2.5) 3. Wielomiany ortogonalne Podane w tej części fakty i definicje przywołujemy za monografią [2]. Dla miary µ określonej na R jej n-tym momentem nazywamy liczbę m n := x n dµ(x) (n = 0, 1,...). (3.1) R
8 3. Wielomiany ortogonalne Załóżmy, że dla miary µ wszystkie jej momenty m n są skończone, a jej nośnik jest zbiorem nieskończonym. Wówczas możemy wykonać ortogonalizację Grama-Schmidta (zob. np. [2, rozdz. 1.3]) dla ciągu (x n : n N) względem iloczynu skalarnego (2.1). Otrzymamy wówczas ciąg {p n } n=0 wielomianów ortogonalnych w L 2 (µ), tzn: p n, p m = γ n δ nm (γ n := p n 2 L 2 (µ) 0; n, m N) (por. (2.1)). Warto zauważyć, że dla każdych niezerowych stałych {a n } n=0 ciąg {a n p n } n=0 jest również ciągiem wielomianów ortogonalnych. W szczególności, mnożąc miarę przez stałą otrzymujemy te same wielomiany ortogonalne. Zauważmy, że bezpośrednio z ortogonalizacji Grama-Schmidta wynika, że zbiór {p 0, p 1,..., p N } tworzy bazę przestrzeni P N. Miarę µ nazywamy zdeterminowaną, jeśli nie istnieje inna miara, o takich samych momentach co miara µ. Wówczas wielomiany {p n } n=0 tworzą bazę ortogonalną w L 2 (µ). Wszystkie pojawiające się w tej pracy miary są miarami zdeterminowanymi. Każdy ciąg wielomianów ortogonalnych {p n } spełnia zależność rekurencyjną p 0 (x) α 0, p 1 (x) = α 1 x + β 1, p n (x) = (α n x + β n )p n 1 (x) γ n p n 2 (x) (n 2), dla pewnych stałych α k, β k, γ k. Zobacz [2, rozdz. 1.4, Tw. 4.1]. 3.1. Wielomiany Jacobiego (3.2) Niech miara µ ma gęstość w(x) := (1 x) α (1 + x) β dla x ( 1, 1) oraz stałych α, β > 1. Wówczas otrzymany ciąg wielomianów {P n (α,β) } nazywamy ciągiem wielomianów Jacobiego z parametrami α, β. Wielomiany te spełniają zależność rekurencyjną (3.2) dla α 0 = 1, α 1 = 1 + α + β, α n = 2 β 1 = α β 2 γ n = (2n + α + β 1)(2n + α + β), 2n(n + α + β), β n = (2n + α + β 1)(α2 β 2 ) 2n(n + α + β)(2n + α + β 2), (n + α 1)(n + β 1)(2n + α + β), n(n + α + β)(2n + α + β 2) p n (x) := P n (α,β) (x). Wielomiany Czebyszewa I rodzaju T n (n 0) są szczególnym przypadkiem wielomianów Jacobiego z parametrami α = β = 1/2. Wyrażają się one wzorem i spełniają zależność rekurencyjną postaci T n (x) = cos(n arccos(x)), x [ 1, 1] T 0 (x) = 1, T 1 (x) = x, T n (x) = 2xT n 1 (x) T n 2 (x) (n 2). Warto zaznaczyć, że ze względów historycznych używamy tutaj nieco innego normowania niż w przypadku P n ( 1/2, 1/2), tzn. ( ) 1 n 1/2 T n (x) = P n ( 1/2, 1/2) (x). n
3.2. Wielomiany Laguerre a 9 Rysunek 1. Wykres pierwszych czterech wielomianów Czebyszewa I rodzaju. Kolejnym ważnym wypadkiem wielomianów Jacobiego są tzw. wielomiany Czebyszewa II rodzaju (dla α = β = 1/2) wyrażające się wzorem U n (x) = sin((n + 1) arccos(x)), x [ 1, 1]. sin(arccos(x)) W tym wypadku mamy U 0 (x) = 1, U 1 (x) = 2x, U n (x) = 2xU n 1 (x) U n 2 (x) (n 2). I tutaj używamy innego normowania, dokładniej U n (x) = 1 ( ) 1 n + 1/2 2 P n (1/2,1/2) (x). n 3.2. Wielomiany Laguerre a Miarze µ o gęstości w(x) := x α e x dla x (0, ), gdzie α > 1, odpowiada tzw. ciąg wielomianów Laguerre a {L (α) n } dla parametru α. Jego wyrazy spełniają zależność rekurencyjną postaci L (α) 0 (x) 1, L (α) 1 (x) = α + 1 x, (x) = 2n + α 1 x L (α) n n L (α) n 1(x) n + α 1 n L (α) n 2(x) (n 2).
10 3. Wielomiany ortogonalne Rysunek 2. Wykres pierwszych czterech wielomianów Czebyszewa II rodzaju. Rysunek 3. Wykres pierwszych czterech wielomianów Laguerre a L (1).
3.3. Wielomiany Hermite a 11 Rysunek 4. Wykres pierwszych czterech wielomianów Hermite a. 3.3. Wielomiany Hermite a Jeśli miara µ ma gęstość w(x) := e x2 dla x R, to otrzymujemy wielomiany Hermite a {H n }, spełniające zależność rekurencyjną: H 0 (x) 1, H 1 (x) = 2x, H n (x) = 2xH n 1 (x) 2(n 1)H n 2 (x) (n 2). 4. Rozkłady zmiennych losowych Podaną niżej teorię przytaczamy za [6]. Niech (Ω, F, P ) będzie przestrzenią probabilityczną (zob. [6, rozdz. 1]). Wówczas rozkładem zmiennej losowej X (zob. [6, rozdz. 5]) nazywamy miarę na R określoną wzorem µ X (A) := P (ω Ω: X(ω) A) (A B(R)). Fakt, że zmienna losowa X ma rozkład µ będziemy oznaczać symbolem X µ. Zmienne losowe X, Y nazywamy (stochastycznie) niezależnymi, jeżeli dla wszystkich zbiorów A, B B(R) zachodzi P (ω : X(ω) A, Y (ω) B) = P (ω : X(ω) A) P (ω : Y (ω) B). Dla zmiennej losowej X jej wartość oczekiwaną E [X] definiujemy wzorem E [X] := Ω X(ω)dP (ω),
12 4. Rozkłady zmiennych losowych a jej wariancję VarX wzorem VarX := E [ (X E [X]) 2] = E [ X 2] (E [X]) 2. Jeżeli zmienne losowe X, Y są niezależne, a R, to zachodzą równości E [XY ] = E [X] E [Y ], Var(XY ) = E [ X 2] E [ Y 2] (E [X] E [Y ]) 2, Var(aX) = a 2 Var(X), Var(X + Y ) = Var(X) + Var(Y ). Dla zmiennej losowej X jej funkcja tworząca momenty M X wyraża się wzorem (4.1) M X (t) := E [exp(tx)], (4.2) dla wszystkich t R takich, że powyższe wyrażenie jest skończone. Dla rozkładu µ o nośniku w przedziale (a, b) i gęstości f definiujemy nowy rozkład o gęstości τ c,d a,b f danej wzorem ( ) (τ c,d b a b a a,b f)(x) := d c f ad bc x +. (4.3) d c d c Tak zdefiniowany rozkład ma nośnik w przedziale (c, d). Operację tą nazywamy przesunięciem rozkładu µ do przedziału (c, d). 4.1. Rozkład Beta Rozkład B(α, β) (α, β > 1) ma gęstość postaci f B α,β(x) := W tym wypadku mamy E [X B ] = β + 1 α + β + 2, VarX B = 1 B(α + 1, β + 1) xβ (1 x) α 1 (0,1) (x). (α + 1)(β + 1) (α + β + 2) 2 (α + β + 3). Natomiast jej funkcja tworząca momenty M XB wyraża się poprzez funkcję hipergeometryczną (por. (2.2)) w następujący sposób M XB (t) = F (α + 1; α + β + 2; t), (t R). (4.4) Warto zaznaczyć, że podana tu definicja różni się od tej przyjętej w rachunku prawdopodobieństwa znaczeniem parametrów α oraz β. Dokładniej, aby uzyskać standardową definicję musimy użyć parametrów α = β +1 oraz β = α+1. Zrobiono tak, aby uwypuklić związki z teorią wielomianów ortogonalnych. {P (α,β) n Zauważmy, że gęstości τ 1,1 0,1 fα,β B (por. (4.3)) odpowiada ciąg wielomianów Jacobiego }. W ogólności wielomiany { ( P n (α,β) 2 b+a (x b a 2 ))} są ortogonalne względem gęstości τ a,b 0,1f B α,β bo b a P (α,β) n ( ( 2 x b + a b a 2 = 2 b a 1 1 )) (τ a,b 0,1f B α,β)(x)dx ( b a P n (α,β) (y)(τ0,1f a,b α,β) B = 2 y + b + a ) dy 2 1 1 P (α,β) n (y)(τ 1,1 0,1 f B α,β)(y)dy. (4.5)
4.2. Rozkład Gamma 13 Rysunek 5. Wykres gęstości rozkładu Beta dla różnych parametrów. Rozkład B(α, β) przesunięty do przedziału (a, b) będziemy oznaczać przez B(α, β, a, b). W szczególności, jeśli Y B(α, β, a, b), to Y = (b a)x B + a, (4.6) dla pewnej zmiennej X B B(α, β). Szczególnym przypadkiem powyższego rozkładu jesy rozkład jednostajny U(a, b), który uzyskujemy dla α = β = 0. 4.2. Rozkład Gamma Rozkład o gęstości postaci f G α,λ(x) := λα+1 Γ(α + 1) xα e λx 1 (0, ) (x) (α > 1, λ > 0) nazywamy rozkładem Gamma i oznaczamy symbolem Γ(α, λ). Można sprawdzić, że oraz E [X G ] = α + 1 λ, VarX G = α + 1 λ 2 M XG (t) = ( 1 t λ) α 1 (t < λ). Dla niezależnych zmiennych X Γ(α 1, λ) i Y Γ(α 1, λ) oraz liczby c > 0 mamy X + Y Γ(α 1 + α 2 1, λ), cx Γ(α 1, λ/c). (4.7)
14 4. Rozkłady zmiennych losowych Rysunek 6. Wykres gęstości rozkładu Gamma dla różnych parametrów. Oznacza to, że wystarczy rozpatrywać zmienne o ustalonej wartości λ (np. Γ(α, 1)). Zauważmy, że gęstości fα,1 G odpowiada ciąg wielomianów Laguerre a {L (α) n }. Natomiast wielomiany {L (α) n (λx)} są ortogonalne względem fα,1, G bo 0 L (α) n (λx)fα,λ(x)dx G = 1 λ 0 ( y L (α) n (y)fα,λ λ) G dy = L (α) n (y)fα,1(y)dy. G (4.8) 0 Warto zaznaczyć, że podana definicja różni się od tej przyjętej w rachunku prawdopodobieństwa znaczeniem parametru α, tzn. aby uzyskać standardową definicję musimy przyjąć α = α + 1). I w tym wypadku, zrobiono tak, aby uwypuklić związki z teorią wielomianów ortogonalnych. Szczególnym wariantem rozkładu Gamma jest rozkład wykładniczy Ex(λ) := Γ(0, λ). 4.3. Rozkład Normalny oraz Rozkład N (m, σ 2 ) jest zdefiniowany dla m R, σ > 0. Ma on gęstość postaci Mamy fm,σ N 1 2(x) := e (x m)2 /(2σ 2). 2πσ E [X N ] = m, VarX N = σ 2. ( M XN (t) = exp µt + σ2 t 2 ) 2 Dla zmiennej X N (m, σ 2 ) oraz c > 0 zachodzi (t R). X m σ N (0, 1), cx N (cm, c 2 σ 2 ). Stąd wystarczy rozpatrywać zmienne o średniej zero i ustalonej wariancji (np. N (0, 1/2)).
15 Rysunek 7. Wykres gęstości Rozkładu Normalnego dla różnych parametrów. Ciąg wielomianów Hermite a {H n } związany jest z gęstością f 0,1/2. Natomiast wielomiany { ( )} H x m n 2σ są ortogonalne względem gęstości f N m,σ 2, bo ( ) x m H n fm,σ N 2(x)dx = 2σ H n (y)f N m,σ 2( 2σy + m)dy = H n (y)f N 0,1/2(y)dy. (4.9) 5. Kwadratury 5.1. Sformułowanie zadania Definicja 1. Funkcję w : R [0, + ) nazywamy funkcją wagową, jeżeli dla każdego k N zachodzi R x k w(x)dx <. Dla ustalonej funkcji wagowej definiujemy funkcjonał liniowy I : L 1 (w(x)dx) R postaci I(f) := f(x)w(x)dx. (5.1) R Głównym zadaniem, którym zajmujemy się w tym rozdziale jest obliczenie wartości I(f) dla danej funkcji f. Zazwyczaj nie potrafimy zrobić tego analitycznie, więc próbujemy zrobić to w sposób przybliżony. Niech ciąg funkcjonałów {Q n } n=1 wyraża się wzorem Q n (f) := p(n) j=1 w n j f(x n j ), (5.2) dla pewnej monotonicznej funkcji p, ciągów wag {w n i } p(n) i=1 oraz węzłów {x n i } p(n) i=1. Funkcjonał Q n nazywamy kwadraturą.
16 5. Kwadratury Z praktycznego punktu widzenia, ważne jest to, aby lim Q n(f) = I(f), (5.3) n dla każdej funkcji f z pewnego zbioru (np. f C c (R) lub f C c (R)). Definicja 2. Dla kwadratury Q zbiorem dokładnym nazywamy zbiór E(Q) := {f : Q(f) = I(f)}. W praktyce często używa się kwadratur Q, których zbiór dokładny zawiera zbiór wielomianów stopnia nie większego niż n, tzn. E(Q) P n. Jeżeli n jest maksymalne, to liczbę n nazywamy rzędem kwadratury Q. Definicja 3. Niech {Q n } n=1 będzie ciągiem kwadratur postaci (5.2). Mówimy, że {Q n } n=1 ma zagnieżdżone węzły, jeżeli {x n i } p(n) i=1 {x n+1 i } p(n+1) i=1, (n 1). Kwadratury posiadające zagnieżdżone węzły okażą się później istotne w kubaturze Smolyaka, o której piszemy w rozdziale 6.3. 5.2. Kwadratura Gaussa Załóżmy, że chcemy obliczyć wartość całki postaci R f(x)dµ(x), (5.4) dla pewnej miary µ mającej skończone wszystkie momenty (por. (3.1)). Niech {p k } k=0 będzie ciągiem wielomianów ortogonalnych w L 2 (µ). Wówczas dla każdego n wielomian p n ma dokładnie n pojedyńczych, rzeczywistych miejsc zerowych t n1 < t n2 <... < t nn (zob. [2, rozdz. 1.5, Tw. 5.2]). Dla ustalonej liczby n niech I f n 1 będzie wielomianem interpolującym wartości funkcji f w węzłach x n j = t nj (j = 1, 2,..., n). (5.5) Całkując I f n 1 otrzymujemy dla pewnego ciągu liczb {w n j } n j=1. Określamy kwadraturę Gaussa wzorem: n In 1(x)dµ(x) f = wj n f(x n j ), (5.6) R j=1 n Q G n (f) := wj n f(x n j ). j=1 Daje ona następujące przybliżenie całki (5.4): R f(x)dµ(x) Q G n (f).
5.3. Zamiana przedziału całkowania na przedział ( 1, 1) 17 Kwadratura Gaussa ma największy możliwy rząd i wynosi on 2n 1 (zob. [2, rozdz. 1.6, ćw. 6.7]). W rozdziale 10.4.1 omówimy efektywny algorytm obliczania wartości ciągów {w n j } n j=1 oraz {x n k} n j=1. W ogólności kwadratury Gaussa nie mają zagnieżdżonych węzłów (por. def. 3), co jest ich istotną wadą w kontekście kubatury Smolyaka (patrz rozdz. 6.3). Jednakże, istnieją modyfikacje kwadratur Gaussa (tzw. kwadratury Gaussa Pattersona), które mają tą pożądaną własność (patrz [4]). 5.3. Zamiana przedziału całkowania na przedział ( 1, 1) W dalszym ciągu zajmiemy się obliczaniem wartości (5.1) dla funkcji wagowych, które są niezerowe tylko na przedziale ( 1, 1). Aby zamienić ogólny przedział całkowania na odcinek ( 1, 1) będziemy korzystać z następującej zamiany zmiennych: b f(x)dx = b a ( 1 b a f a 2 1 2 y + b + a ) dy, (5.7) 2 f(x)dx = 2 ( ) 1 1 y dy f, (λ > 0) (5.8) 0 λ 1 λ(1 + y) (1 + y) 2 ( ) 1 2σy 2σdy f(x)dx = f + m (σ > 0, m R). (5.9) 1 1 y 2 (1 y 2 ) 3/2 5.4. Kwadratura Clenshawa-Curtisa Chcemy obliczyć wartość całki postaci 1 f(x)w(x)dx, (5.10) 1 gdzie w jest funkcją wagową. Niech n > 1 oraz niech Jn 1(x) f będzie wielomianem interpolującym wartości funkcji f w węzłach (k 1)π y k = cos, k = 1, 2,..., n. n 1 Można pokazać, że wielomian J f n 1(x) wyraża się wzorem gdzie b j := 2 n 1 Zobacz np. [10]. Całkując J f n 1 otrzymujemy J f n 1(x) = n k=1 n 1 j=0 b j T j (x), f(y k )T j (y k ) (j = 0, 1,..., n 1). gdzie 1 1 J n 1 f(x)w(x)dx = m j [w] := 1 1 n 1 j=0 b j m j [w], T j (x)w(x)dx, (5.11)
18 5. Kwadratury jest zmodyfikowanym momentem Czebyszewa I rodzaju funkcji wagowej w. Jeżeli n = 1, to przyjmujemy y 1 = 0 oraz w 1 = m 0 [w]. Określamy kwadraturę Clenshawa-Curtisa wzorem: Q CC n (f) := n 1 n w j f(y j ) = 1=0 j=0 Daje ona następujące przybliżenie całki (5.10): 1 f(x)w(x)dx Q CC n (f). 1 b j m j [w]. (5.12) Ze względu na to, że kwadratura Clenshawa-Curtisa jest kwadraturą interpolacyjną, jej rząd wynosi co najmniej n 1. W testach pokażemy, że czasami jest on większy, lecz w ogólności jest równy n 1. Przyjmując 1, gdy n = 1, p(n) := 2 n 1 + 1, w p.p. otrzymujemy ciąg kwadratur {Q CC p(n) } n=1 o zagnieżdżonych węzłach (por. def. 3). 5.5. Kwadratura Fejéra (II rodzaju) Tak jak w przypadku kwadratury Clenshawa-Curtisa rozważanym zadaniem jest obliczenie wartości całki (5.10). Wykorzystujemy w tym celu wielomian I f n 1 interpolujący wartości funkcji f w węzłach kπ z k := cos, k = 1, 2,... n. n + 1 Należy zauważyć, że użyte węzły różnią się od węzłów kwadratury Clenshawa-Curtisa tylko brakiem wartości brzegowych 1 oraz 1. Jest to przydatna własność w przypadku, gdy funkcja f ma osobliwości na końcach przedziału [ 1, 1]. W [16] pokazano, że całkując I f n 1 otrzymujemy następujące wagi gdzie w k = 2(1 y2 k) n + 1 λ j [w] := 1 1 n 1 j=0 U j (z k )λ j [w], (5.13) U j (x)w(x)dx (5.14) jest tzw. zmodyfikowanym momentem Czebyszewa II rodzaju funkcji wagowej w. Kwadraturę Fejéra (II rodzaju) określamy wzorem: n Q F n II (f) := w k f(z k ). k=1 Daje ona następujące przybliżenie całki (5.10): 1 f(x)w(x)dx Q F n II (f). 1 Ze względu na to, że kwadratura Fejéra jest kwadraturą interpolacyjną, jej rząd wynosi co najmniej n 1. Przyjmując p(n) := 2 n 1, otrzymujemy, ciąg kwadratur {Q F p(n) II } n=1 o zagnieżdżonych węzłach (por. def. 3).
19 6. Kubatury Poniższą teorię przytaczamy za artykułem [3]. 6.1. Sformułowanie zadania Dla danych funkcji wagowych {w (i) } d i=1, wprowadzamy funkcjonały {I (i) } d i=1 postaci I (i) f := f(x i )w (i) (x i )dx i (f : R R) (6.1) R (por. z (5.1)). Rozważane tu zadanie polega na obliczeniu wartości funkcjonału postaci I(f) := (I (1) I (2)... I (d) )(f) := f(x)w(x)dx, (6.2) R d gdzie f : R d R oraz 6.2. Kubatury tensorowe x := (x 1, x 2,..., x d ), w(x) := w (1) (x 1 )w (2) (x 2 )... w (d) (x d ). Poniżej podajemy definicję iloczynu tensorowego dla kilku szczególnych przypadków. Definicja 4. Niech {Q (i) } d i=1 będzie ciągiem funkcjonałów postaci Wówczas funkcjonał gdzie p (i) Q (i) (g) := j=1 w (i) j g(x (i) j ) (i = 1, 2,..., d; g : R R). (Q (1) Q (2)... Q (d) )(f) := w j = w (1) j 1 w (2) j 2 nazywamy iloczynem tensorowym ciągu {Q (i) } d i=1. Definicja 5. Niech f, g : R R. Wówczas funkcję 1 j i p (i) 1 i d w j f(x j ),... w (d) j d, x j = (x j1, x j2,..., x jd ), (f g)(x, y) := f(x) g(y) nazywamy iloczynem tensorowym funkcji f i g. Zauważmy, że iloczyn tensorowy nie jest w ogólności przemienny, ale jest łączny i wieloliniowy. Iloczyn tensorowy jest prostym sposobem na to, aby z kwadratur jednowymiarowych utworzyć tzw. kubaturę, czyli funkcjonał, który ma przybliżać wartość (6.2). O znaczeniu tej uwagi mówi następujący fakt. Fakt 1 ([3, Lemma 2.2]). Niech {Q (i) } d i=1 będą kwadraturami. Wówczas dla Q Q (1) Q (2)... Q (d) mamy następujące zawieranie zbiorów dokładnych (por. def. 2). E(Q (1) ) E(Q (2) )... E(Q (d) ) E(Q) Problemem w korzystaniu z kubatur tensorowych jest to, że przy d liczba węzłów zazwyczaj szybko rośnie.
20 6. Kubatury 6.3. Kubatura Smolyaka Zacznijmy od następującego przykładu. Niech będzie f(x, y) := x 16 + y 16 + x 5 y 2. Wówczas, aby dokładnie obliczyć wartość I(f) za pomocą iloczynu tensorowego kwadratur Clenshawa-Curtisa (patrz rozdział 5.4) potrzebujemy aż 17 17 węzłów. Za pomocą uzyskanej w ten sposób kubatury można dokładnie obliczać całki z każdego wielomianu o stopniu nie większym niż (16, 16) (por. rozdz. 2). Z drugiej strony, aby obliczyć całki poszczególnych składników wystarczą kwadratury tensorowe o liczbie węzłów odpowienio: 17 1, 1 17 oraz 6 3. Poniżej przedstawimy metodę, która pozwala na dobranie węzłów kubatury w sposób bardziej oszczędny niż w przypadku kwadratury tensorowej. W poniższej konstrukcji będziemy zakładać, że dla każdego i = 1, 2,..., d dany jest ciąg kwadratur {Q (i) n } n=1 postaci (5.2). Definicja 6. Przy powyższych założeniach, operator różnicowy definiujemy wzorem (i) 0 := Q (i) 0 := 0, (6.3) (i) n := Q (i) n Zauważmy, że dla każdego i możemy zapisać Q (i) N = N n=1 Q (i) n Q (i) n 1, (n > 0). (6.4) Q (i) n 1 = Zatem z wieloliniowości iloczynu tensorowego mamy Q (1) N 1 Q (2) N 2... Q (d) N d = N 1 n 1 =1 (1) n N 2 n 2 =1 (2) n 2 N n=1... (i) n. N d n d =1 = 1 n i N i 1 i d (d) n d (1) n 1 (2) n 2... (d) n d. Obcinając odpowiednio ostatnią sumę, otrzymujemy tzw. kubaturę Smolyaka (por. [15]). Precyzuje to następująca definicja. Definicja 7. Kubaturą Smolyaka nazywamy funkcjonał liniowy określony wzorem Sn d := (1) l 1 (2) l 2... (d) l d. l 1 n+d 1 Liczbę n nazywamy wówczas rozdzielczością tejże kubatury. Zauważmy, że wprost z definicji S d n oraz łączności i wieloliniowości iloczynu tensorowego mamy Sn d = (1) l 1 (2) l 2... (d) l d l 1 n+d 1 n = (1) l 1 (2) l 2 l d =1 (l 1,l 2,...,l d 1 ) 1 n+d 1 l d... (d 1) l d 1 = (d) l d n l d =1 S d 1 n+1 l d (d) l d.