Zagadnienia

13. Kwadratury interpolacyjne w wielu wymiarach

13.1. Sformułowanie zadania

Ostatnie trzy wykłady poświęcimy numerycznemu całkowaniu funkcji wielu zmiennych. Dokładniej, dla danej funkcji f:0,1d→R chcemy obliczyć (przybliżyć) wartość

Id⁢f⁢=⁢∫0,1df⁢x→⁢⁢d⁢x→⁢=⁢∫01∫01⋯⁢∫01︸d⁢⁢f⁢x1,x2,…,xd⁢⁢d⁢x1⁢d⁢x2⁢⋯⁢d⁢xd.

Zakładamy, że powyższa całka istnieje. W ogólniejszym sformułowaniu, chcielibyśmy obliczyć całkę z wagą ω funkcji f:Rd→R, która jest postaci

Id,ω⁢f⁢=⁢∫Rd⁢f⁢x→⁢⁢ω⁢x→⁢⁢d⁢x→.

Waga ω jest tutaj nieujemna i całkowalna.

Zauważmy, że ograniczenie się w ostatnim przypadku do Rd nie zmniejsza ogólności, gdyż całkę po dowolnym mierzalnym obszarze D⊆Rd można wymodelować przyjmując, że waga ω⁢x→=0 dla wszystkich x→∉D.

Zadanie całkowania funkcji wielu zmiennych ma ogromne znaczenie praktyczne i dlatego warto znać skuteczne metody numeryczne jego rozwiązywania.

Przykład 13.1

Wycena obecnej wartości wielu instrumentów finansowych, w tym tzw. opcji, opiera się na założeniu, że przyszłe ceny podlegają losowym zmianom kolejnych odcinkach czasowych. Obecna wartość opcji obliczana jest jako wartość oczekiwana funkcji wypłaty. Odpowiada to obliczaniu całki oznaczonej funkcji d zmiennych, gdzie d jest liczbą odciników czasowych. Jest to często całka ze standardową d wymiarową wagą gaussowską postaci

2⁢π-d/2⁢∫Rdf⁢ξ1,…,ξd⁢exp⁡-12⁢ξ12+⋯,ξd2⁢⁢d⁢ξ1⁢⋯⁢d⁢ξd,

przy czym f jest (zwykle skomplikowaną) funkcją wypłaty na końcu okresu, a ξj reprezentują czynniki losowe w kolejnych odcinkach czasu. Wymiar d może wynosić nawet kilka tysięcy.

Z podstawowego wykładu z metod numerycznych każdy z nas wie jak numerycznie całkować funkcje jednej zmiennej. Stosowane metody w znakomitej większości przypadków sprowadzają się do scałkowania funkcji, która jest kawałkami wielomianem określonego stopnia interpolującym funkcję podcałkową. Pomysł ten może być uogólniony na przypadek funkcji wielu zmiennych. Aby jednak mówić o kwadraturach interpolacyjnych w wielu wymiarach, musimy najpierw zastanowić się nad rozwiązywalnością odpowiedniego zadania interpolacyjnego.

13.2. Interpolacja na siatkach regularnych

13.2.1. Postać wielomianu interpolacyjnego

Niech

a≤t1<t2<⋯<tr≤b.

Jeśli f jest funkcją jednej zmiennej, f:a,b→R, to wielomian

pf⁢x=∑j=1rf⁢tj⁢⁢lj⁢x,

gdzie lj jest j-tym wielomianem Lagrange'a,

lj⁢x=∏j≠i=1rx-tjti-tj,⁢1≤j≤r,

(przy czym l1≡1 dla r=1) jest stopnia co najwyżej r-1 i interpoluje f w punktach tj, tzn. przyjmuje w tych punktach te same wartości co f. W przypadku d≥2 możemy podobnie zdefiniować ,,wielowymiarowe” wielomiany Lagrange'a.

W tym celu zakładamy, że na każdej współrzędnej dany jest przedział, a w nim układ r punktów

ak≤t1k<t2k<…<trk≤bk,⁢1≤k≤d.

Oznaczając przez ljk odpowiednie wielomiany Lagrange'a jednej zmiennej dla k-tego podziału, definiujemy wielomiany Lagrange'a d zmiennych jako

lj1,…,jd⁢x1,…,xd=lj11⁢x1⁢⁢lj22⁢x2⁢⋯⁢ljdd⁢xd

dla wszystkich 1≤jk≤r, 1≤k≤d. Dla skrócenia zapisu, będziemy dalej używać zapisu wektorowego j→=j1,…,jd, a 1≤j→≤d będzie oznaczać, że nierówności zachodzą dla każdej współrzędnej jk, 1≤k≤d. Podobnie, tj→=tj11,tj22,…,tjdd.

Wielomiany lj→ należą do przestrzeni Pdr wielomianów d zmiennych postaci

p⁢x→=p⁢x1,…,xd=∑0≤i→≤r-1ai→⋅x1i1⁢x2i2⁢⋯⁢xdid,

gdzie ai→ są dowolnymi wsoółczynnikami rzeczywistymi. Zauważmy, że p∈Pdr wtedy i tylko wtedy gdy p jest wielomianem stopnia co najwyżej r-1 ze względu na każdą zmienną xk.

Lemat 13.1

Jeśli wielomian p∈Pdr zeruje się we wszystkich rd punktach tj→, 1≤j→≤r, to p jest wielomianem zerowym.

Dowód

Dowód przeprowadzimy przez indukcję ze względu na wymiar d. Dla d=1 lemat jest oczywiście prawdziwy, bo na podstawie zasadniczego twierdzenia algebry niezerowy wielomian stopnia co najwyżej r-1 nie może mieć r różnych zer.

Niech d≥2. Niech aj→ będą współczynnikami wielomianu p. Dla ustalonej k zdefiniujmy wielomian pk∈Pd-1r jako

pk⁢x1,…,xd-1⁢=⁢p⁢x1,…,xd-1,tkd.

Wielomian ten zeruje się w r⁢d-1 punktach ti1,…,id-1. Zapisując go w postaci

pk⁢x1,…,xd-1⁢=⁢∑0≤i1,…,id-1≤d-1bi1,…,id-1k⋅x1i1⁢⋯⁢xd-1id-1,

gdzie współczynniki

bi1,…,id-1k⁢=⁢∑0≤id≤d-1ai→⋅tkdid,

oraz stosując założenie indukcyjne mamy, że bi1,…,id-1k=0. A więc dla wszystkich wyborów indeksów i1,…,id-1 wielomian jednej zmiennej ∑id=0d-1ai→⋅tid zeruje się w r punktach t=tsd. To zaś wymusza ai→=0 dla wszystkich 0≤i→≤d-1 i w konsekwencji p≡0.

∎

Lemat 13.1 wykorzystamy do pokazania następującego twierdzenia.

Twierdzenie 13.1

Wielomiany lj→, 1≤j→≤r, tworzą bazę przestrzeni Pdr. W szczególności, dim⁢Pdr=rd.

Dowód

Zauważmy, że podobnie jak w przypadku d=1,

lj→⁢ti→⁢=⁢⁡1,jeśli⁢⁢i→=j→,0,w przeciwnym przypadku.⁢

Stąd, jeśli kombinacja liniowa p=∑j→αj→⁢lj→ jest wielomianem zerowym to dla wszystkich i→

0=p⁢ti→=∑j→αj→⁢lj→⁢⁢ti→=αi→,

czyli układ li→: 1≤i→≤r jest liniowo niezależny. Z drugiej strony, układ ten rozpina Pdr, bo dla dowolnego wielomianu p z tej przestrzeni mamy

p=∑1≤j→≤rp⁢tj→⁢⁢lj→.(13.1)

Rzeczywiście, w przeciwnym przypadku różnica wielomianu p i prawej strony (13.1) byłaby niezerowym wielomianem w Pdr, który zeruje się we wszystkich rd punktach ti→. To zaś przczyłoby lematowi 13.1.

∎

Stąd już jeden krok do następującego wniosku podsumowującego nasze dotychczasowe rozważania. Niech

D⁢=×a1,b1×a2,b2×⋯×ad,bd

będzie d wymiarowym prostokątem.

Wniosek 13.1

Dla dowolnej funkcji f:D→R wielomian

pf⁢x→⁢=⁢∑0≤j→≤rf⁢tj→⁢⁢lj→⁢j→

jest jedynym wielomianem w Pdr interpolującym f w punktach tj→ tzn. takim, że

pf⁢tj→=f⁢tj→

dla wszystkich 1≤j→≤r.

13.2.2. Błąd interpolacji

Zastanówmy się teraz jaki jest błąd otrzymanej interpolacji. Dla uproszczenia będziemy od teraz zakładać, że D jest kostką d wymiarową, tzn. wszystkie krawędzie mają tą samą długość, którą oznaczymy przez H, a węzły na każdej współrzędnej

tjk=ak+uj⁢H,⁢1≤j≤r,

gdzie

0≤u1<u2<⋯<ur≤1

jest pewną ustaloną siatką na odcinku jednostkowym.

W przypadku skalarnym, o ile funkcja f jest r-krotnie różniczkowalna w sposób ciągły, to

f⁢x-pf⁢x⁢=⁢x-t1⁢x-t2⁢⋯⁢x-tr⁢fr⁢ξr!,

przy czym ξ∈a,b zależy od x. Stąd w szczególności mamy

f⁢x-pf⁢x⁢≤⁢b-arr!⁢fr∞,(13.2)

gdzie fr∞=maxa≤t≤b⁡fr⁢t. Aby wyprowadzić formułę na bład interpolacji w przypadku wielowymiarowym, będziemy potrzebować pewnego prostego uogólnienia ostatniego wzoru.

Załóżmy, że zamiast dokładnych wartości f⁢ti mamy jedynie wartości przybliżone yi takie, że błąd

yi-f⁢ti⁢≤⁢δ,⁢1≤i≤r.(13.3)

Niech dalej p~f będzie wielomianem stopnia co najwyżej r-1 interpolującym dane przybliżone yi w punktach ti. Ponieważ pf-p~f jest wielomianem interpolującym dane f⁢tj-yj, na podstawie wzoru (13.1) mamy

pf⁢x-p~f⁢x⁢≤⁢δ⋅∑i=1rli⁢x⁢≤⁢δ⋅Sr,

gdzie S1=1, a dla r≥2

Sr=max0≤z≤1⁡∑i=1r∏i≠j=1rz-ujui-uj.

Stąd i z formuły na błąd interpolacji dla dokładnych danych otrzymujemy

f⁢x-p~f⁢x⁢≤⁢f⁢x-pf⁢x+pf⁢x-p~f⁢x⁢≤⁢b-arr!⁢fr∞⁢+⁢δ⋅Sr.(13.4)

Wprowadzimy jeszcze klasę Fr⁢D funkcji f:D→R, które w całej swojej dziedzinie są r-krotnie różniczkowalne w sposób ciągły ze względu na każdą zmienną. Dla f∈Fr⁢D definiujemy

Br⁢f⁢=⁢max1≤i≤d⁡⁢∂r⁡f∂⁡x1r∞,…,∂r⁡f∂⁡xdr∞⁢.
Twierdzenie 13.2

Niech D=a1,a1+H×⋯×ad,ad+H. Jeśli f∈Fr⁢D to dla każdego x→∈D błąd interpolacji

f⁢x→-pf⁢x→⁢≤⁢Hrr!⁢⁢Cr,d⁢⁢Br⁢f,

gdzie C1,d=d, a dla r≥2

Cr,d⁢=⁢Srd-1Sr-1.
Dowód

Rozpatrzymy tylko r≥2 pozostawiając przypadek r=1 jako proste ćwiczenie.

Dla d=1 nierówność w tezie jest równoważna (13.2). Załóżmy więc, że d≥2. Ponieważ dla każdego ustalonego tkd wielomian d-1 zmiennych pf⁢x1,…,xd-1,tkd jest wielomianem interpolacyjnym dla funkcji d-1 zmiennych f⁢x1,…,xd-1,tkd, na podstawie założenia indukcyjnego mamy

f⁢x1,…,xd-1,tkd-pf⁢x1,…,xd-1,tkd⁢≤⁢Hrr!⁢⁢Br⁢f⁢Srd-1-1Sr-1.(13.5)

Zauważmy, że dla ustalonych z kolei pierwszych d-1 współrzędnych x1,…,xd-1 wielomian pf⁢x1,…,xd-1,t jest wielomianem jednej zmiennej t interpoluącym funkcję jednej zmiennej f⁢x1,…,xd-1,t w punktach tkd na podstawie danych zaburzonych na poziomie δ równym prawej stronie (13.5). Stąd i z (13.4) ostatecznie otrzymujemy

f⁢x→-pf⁢x→≤Hrr!⁢⁢Br⁢f⁢+⁢δ⋅Sr
=Hrr!⁢⁢Br⁢f⁢⁢1+Srd-1-1Sr-1⁢⁢Sr
=Hrr!⁢⁢Br⁢f⁢⁢Srd-1Sr-1.
∎

13.3. Kwadratury interpolacyjne

13.3.1. Kwadratury proste

Jesteśmy już dobrze uzbrojeni w mechanizm interpolacyjny i możemy zdefiniować wielowymiarowe kwadratury interpolacyjne dla całkowania funkcji f:D→R zdefiniowanych na kostce

D=a1,a1+H×⋯×ad,ad+H.

Kwadratury te dane są równością

Qr,d⁢f⁢=⁢∫Dpf⁢x→⁢⁢d⁢x→,(13.6)

gdzie pf∈Pdr jest wielomianem interpolującym f w punktach tj→, 1≤j→≤r.

Chociaż postać (13.6) kwadratury znakomicie nadaje się do rozważań teoretycznych, nie jest jednak praktyczna ze względu na obliczenia. Zauważmy, że

Qr,d⁢f=∫D∑j→f⁢tj→⁢lj→⁢x→⁢⁢d⁢x→⁢=⁢∑j→f⁢tj→⁢⁢∫Dlj→⁢x→⁢⁢d⁢x→
=Hd⋅∑j→f⁢tj→⁢⁢∏k=1d∫01ljk⁢u⁢⁢d⁢u,

gdzie lj jest j-tym wielomianem Lagrange'a dla punktów u1,u2,…,ud. Stąd, wprowadzając oznaczenie

ak⁢=⁢∫01lk⁢u⁢⁢d⁢u,

kwadraturę interpolacyjną można zapisać w postaci

Qr,d⁢f⁢=⁢Hd⋅∑1≤j1,…,jd≤raj1⁢aj2⁢⋯⁢ajd⋅f⁢tj11,tj22,…,tjdd.

Zauważmy, że ak są współczynnikami jednowymiarowej kwadratury interpolacyjnej Qr⁢f=∑k=1rak⁢f⁢tk opartej na punktach uk, przybliżającej całkę ∫01f⁢u⁢⁢d⁢u. Mówiąc inaczej, zdefiniowana przez nas wielowymiarowa kwadratura interpolacyjna jest d-produktem tensorowym wybranej kwadratury jednowymiarowej.

Na koniec tego podrozdziału podamy oszacowanie błędu kwadratury Qr,d. Ponieważ

∫Df⁢x→⁢⁢d⁢x→⁢-⁢Qr,d⁢f⁢=⁢∫Df⁢x→-pf⁢x→⁢⁢d⁢x→,

z twierdzenia 13.2 natychmiast otrzymujemy następujący wniosek.

Wniosek 13.2

Jeśli f∈Fr⁢D to błąd kwadratury interpolacyjnej Qr,d jest ograniczony przez

∫Df⁢x→⁢⁢d⁢x→⁢-⁢Qr,d⁢f⁢≤⁢Hr+dr!⁢⁢Cr,d⁢⁢Br⁢f.

13.3.2. Kwadratury złożone

Podobnie jak w przypadku funkcji jednej zmiennej, definiujemy kwadratury złożone dla funkcji wielu zmiennych. Dla uproszczenia zakładamy, że całkujemy po kostce jednostkowej 0,1d.

Dla danego n wprowadzamy podział kostki na nd podkostek

i1-1n,i1n⁢i2-1n,i2n⁢⋯⁢id-1n,idn,⁢1≤ik≤n,⁢1≤k≤d.

Następnie na każdej podkostce stosujemy prostą kwadraturę interpolacyjną opartą na siatce regularnej składającej się z rd punktów. Skonstruowaną w ten sposób kwadraturę złożoną oznaczymy przez Qr,dn.

Przykład 13.2

Jeśli bazową kwadraturą jednowymiarową jest reguła punktu środkowego,

Q1⁢f⁢=⁢b-a⋅f⁢a+b2,

to wynikową kwadraturą złożoną na 0,1d jest po prostu reguła prostokątów

Qr,dn⁢f⁢=⁢1nd⋅∑1≤i1,,…,id≤nf⁢i1-1/2n,⋯,id-1/2n.

Nasze rozważania wieńczy twierdzenie o błędzie kwadratury złożonej, które natychmiast wynika z wniosku 13.2 oraz sposobu konstrukcji kwadratury.

Twierdzenie 13.3

Kwadratura złożona Qr,dn korzysta z co najwyżej

N⁢=⁢r⁢⁢nd

wartości funkcji f. Jeśli f∈Fr⁢0,1d to jej błąd

∫0,1df⁢x→⁢⁢d⁢x→⁢-⁢Qr,dn⁢f⁢≤⁢1Nr/d⁢rrr!⁢⁢Cr,d⁢⁢Br⁢f.

13.4. Przekleństwo wymiaru

Złożone kwadratury interpolacyjne mogą być z powodzeniem stosowane dla niskich wymiarów, powiedzmy d=2,3. Dla dużych wymiarów d mają one bowiem tą niepożądaną własność, że liczba węzłów rośnie wykładniczo szybko wraz z zagęszczaniem siatki. Nawet jeśli weźmiemy po 2 punkty na każdej współrzędnej to całkowita liczba punktów siatki regularnej wyniesie 2d. Pamiętamy, że w wielu praktycznych zastosowaniach d może sięgać nawet kilku tysięcy. W takich przypadkach obliczenie wartości kwadratury jest zadaniem praktycznie niewykonalnym.

To jednak nie koniec złych wiadomości. Przyjrzyjmy się jeszcze błędowi złożonej kwadratury interpolacyjnej. Twierdzenie 13.3 mówi, że błąd ten jest ograniczony z góry proporcjonalnie do N-r/d, gdzie N jest liczbą wszystkich użytych punktów. To drugi powód do niepokoju, uzasadniony poniższym przykładem.

Przykład 13.3

Załóżmy, że chcemy całkować funkcję 360 zmiennych i jako kwadraturę bazową stosujemy kwadraturę Simpsona, dla której r=4. Górne ograniczenie błędu sugeruje, że aby być pewnym wyniku z dokładnością 10-2 to musimy obliczyć wartości funkcji w aż 10180 punktach. Czy naprawdę jest aż tak źle?

Rzeczywiście jest tak źle, a nawet gorzej. Okazuje się, że rzędu zbieżości N-r/d nie da się poprawić w klasie funkcji Fr⁢0,1d. Mówi o tym następujące twierdzenie.

Twierdzenie 13.4

Istnieje c=cr,d>0 o następującej własności. Dla dowolnej aproksymacji całki wykorzystującej N wartości funkcji można znaleźć funkcję f∈Fr⁢0,1d dla której Br⁢f=1, a błąd aproksymacji całki wynosi co najmniej c⁢⁢N-r/d.

Dowód

Załóżmy, że dana aproksymacja całki oblicza wartości funkcji w punktach t→j, 1≤j≤N. Dowód twierdzenia polega na konstrukcji dwóch funkcji, f+ i f-, które zerują się we wszystkich t→j (a tym samym ich całki są aproksymowane tą samą liczbą), dla których Br⁢f+=1=Br⁢f-, ale różnica całek

∫0,1df+-f-⁢t→⁢⁢d⁢t→⁢≥ 2⁢c⁢⁢N-r/d,

dla pewnej c niezależnej od f i d. Wtedy, przynajmniej dla jednej z tych funkcji błąd aproksymacji całki wynosi co najmniej c⁢N-r/d.

Wybierzmy n taką, że nd>N i skonstruujmy na 0,1d regularną siatkę składającą się z nd kostek, każda o krawędzi długości h=1/n.

Niech dalej ϕ:R→R będzie dowolną funkcją r-krotnie różniczkowalną w sposób ciągły spełniającą następujące warunki:

  1. ϕ⁢x=0 dla x∉0,1,

  2. ϕj⁢0=0=ϕj⁢1 dla 0≤j≤r,

  3. ∫01ϕ(t)dt=:a>0.

Każdej kostce

Ki→:=i1-1⁢h,i1⁢h×⋯×id-1⁢h,id⁢h

naszej regularnej siatki przyporządkujemy funkcję

ϕi→⁢x1,…,xd:=hr⁢∏k=1dϕ⁢xk/h-ik.

Zauważmy, że Br⁢ϕi→=1 oraz

∫Ki→ϕi→⁢t→⁢⁢d⁢t→⁢=⁢ad⁢⁢hr+d.

Jasne jest, że istnieje co najmniej nd-N multi-indeksów i→ (kostek) takich, że żaden z punktów t→j nie należy do wnętrza Ki→. Oznaczmy zbiór takich indeksów przez S i zdefiniujmy funkcje

f+:=∑i→∈Sϕi→,⁢f-:=-f+.

Wtedy obie funkcje zerują się w t→j, Br⁢f+=1=Br⁢f-, oraz

∫0,1df+⁢t→⁢⁢d⁢t→⁢=-∫0,1df-⁢t→⁢⁢d⁢t→⁢≥⁢nd-N⁢⁢ad⁢⁢hr+d.

Podstawiając n=N1/d⁢1+d/r1/d dostajemy ostatecznie

∫0,1df+⁢t→⁢⁢d⁢t→⁢≥⁢c⁢⁢N-r/d,⁢gdzie⁢⁢c=d⁢adr⁢2r+d⁢1+d/r1+r/d.
∎

Opisane zjawisko nosi nazwę przekleństwa wymiaru.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.