Ostatnie trzy wykłady poświęcimy numerycznemu całkowaniu funkcji wielu zmiennych. Dokładniej, dla danej funkcji chcemy obliczyć (przybliżyć) wartość
Zakładamy, że powyższa całka istnieje. W ogólniejszym sformułowaniu, chcielibyśmy obliczyć całkę z wagą funkcji , która jest postaci
Waga jest tutaj nieujemna i całkowalna.
Zauważmy, że ograniczenie się w ostatnim przypadku do nie zmniejsza ogólności, gdyż całkę po dowolnym mierzalnym obszarze można wymodelować przyjmując, że waga dla wszystkich .
Zadanie całkowania funkcji wielu zmiennych ma ogromne znaczenie praktyczne i dlatego warto znać skuteczne metody numeryczne jego rozwiązywania.
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 zmiennych, gdzie jest liczbą odciników czasowych. Jest to często całka ze standardową wymiarową wagą gaussowską postaci
przy czym jest (zwykle skomplikowaną) funkcją wypłaty na końcu okresu, a reprezentują czynniki losowe w kolejnych odcinkach czasu. Wymiar 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.
Niech
Jeśli jest funkcją jednej zmiennej, , to wielomian
gdzie jest -tym wielomianem Lagrange'a,
(przy czym dla ) jest stopnia co najwyżej i interpoluje w punktach , tzn. przyjmuje w tych punktach te same wartości co . W przypadku 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 punktów
Oznaczając przez odpowiednie wielomiany Lagrange'a jednej zmiennej dla -tego podziału, definiujemy wielomiany Lagrange'a zmiennych jako
dla wszystkich , . Dla skrócenia zapisu, będziemy dalej używać zapisu wektorowego , a będzie oznaczać, że nierówności zachodzą dla każdej współrzędnej , . Podobnie, .
Wielomiany należą do przestrzeni wielomianów zmiennych postaci
gdzie są dowolnymi wsoółczynnikami rzeczywistymi. Zauważmy, że wtedy i tylko wtedy gdy jest wielomianem stopnia co najwyżej ze względu na każdą zmienną .
Jeśli wielomian zeruje się we wszystkich punktach , , to jest wielomianem zerowym.
Dowód przeprowadzimy przez indukcję ze względu na wymiar . Dla lemat jest oczywiście prawdziwy, bo na podstawie zasadniczego twierdzenia algebry niezerowy wielomian stopnia co najwyżej nie może mieć różnych zer.
Niech . Niech będą współczynnikami wielomianu . Dla ustalonej zdefiniujmy wielomian jako
Wielomian ten zeruje się w punktach . Zapisując go w postaci
gdzie współczynniki
oraz stosując założenie indukcyjne mamy, że . A więc dla wszystkich wyborów indeksów wielomian jednej zmiennej zeruje się w punktach . To zaś wymusza dla wszystkich i w konsekwencji .
∎Lemat 13.1 wykorzystamy do pokazania następującego twierdzenia.
Wielomiany , , tworzą bazę przestrzeni . W szczególności, .
Zauważmy, że podobnie jak w przypadku ,
Stąd, jeśli kombinacja liniowa jest wielomianem zerowym to dla wszystkich
czyli układ jest liniowo niezależny. Z drugiej strony, układ ten rozpina , bo dla dowolnego wielomianu z tej przestrzeni mamy
(13.1) |
Rzeczywiście, w przeciwnym przypadku różnica wielomianu i prawej strony (13.1) byłaby niezerowym wielomianem w , który zeruje się we wszystkich punktach . To zaś przczyłoby lematowi 13.1.
∎Stąd już jeden krok do następującego wniosku podsumowującego nasze dotychczasowe rozważania. Niech
będzie wymiarowym prostokątem.
Dla dowolnej funkcji wielomian
jest jedynym wielomianem w interpolującym w punktach tzn. takim, że
dla wszystkich .
Zastanówmy się teraz jaki jest błąd otrzymanej interpolacji. Dla uproszczenia będziemy od teraz zakładać, że jest kostką wymiarową, tzn. wszystkie krawędzie mają tą samą długość, którą oznaczymy przez , a węzły na każdej współrzędnej
gdzie
jest pewną ustaloną siatką na odcinku jednostkowym.
W przypadku skalarnym, o ile funkcja jest -krotnie różniczkowalna w sposób ciągły, to
przy czym zależy od . Stąd w szczególności mamy
(13.2) |
gdzie . 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 mamy jedynie wartości przybliżone takie, że błąd
(13.3) |
Niech dalej będzie wielomianem stopnia co najwyżej interpolującym dane przybliżone w punktach . Ponieważ jest wielomianem interpolującym dane , na podstawie wzoru (13.1) mamy
gdzie , a dla
Stąd i z formuły na błąd interpolacji dla dokładnych danych otrzymujemy
(13.4) |
Wprowadzimy jeszcze klasę funkcji , które w całej swojej dziedzinie są -krotnie różniczkowalne w sposób ciągły ze względu na każdą zmienną. Dla definiujemy
Niech . Jeśli to dla każdego błąd interpolacji
gdzie , a dla
Rozpatrzymy tylko pozostawiając przypadek jako proste ćwiczenie.
Dla nierówność w tezie jest równoważna (13.2). Załóżmy więc, że . Ponieważ dla każdego ustalonego wielomian zmiennych jest wielomianem interpolacyjnym dla funkcji zmiennych , na podstawie założenia indukcyjnego mamy
(13.5) |
Zauważmy, że dla ustalonych z kolei pierwszych współrzędnych wielomian jest wielomianem jednej zmiennej interpoluącym funkcję jednej zmiennej w punktach na podstawie danych zaburzonych na poziomie równym prawej stronie (13.5). Stąd i z (13.4) ostatecznie otrzymujemy
Jesteśmy już dobrze uzbrojeni w mechanizm interpolacyjny i możemy zdefiniować wielowymiarowe kwadratury interpolacyjne dla całkowania funkcji zdefiniowanych na kostce
Kwadratury te dane są równością
(13.6) |
gdzie jest wielomianem interpolującym w punktach , .
Chociaż postać (13.6) kwadratury znakomicie nadaje się do rozważań teoretycznych, nie jest jednak praktyczna ze względu na obliczenia. Zauważmy, że
gdzie jest -tym wielomianem Lagrange'a dla punktów . Stąd, wprowadzając oznaczenie
kwadraturę interpolacyjną można zapisać w postaci
Zauważmy, że są współczynnikami jednowymiarowej kwadratury interpolacyjnej opartej na punktach , przybliżającej całkę . Mówiąc inaczej, zdefiniowana przez nas wielowymiarowa kwadratura interpolacyjna jest -produktem tensorowym wybranej kwadratury jednowymiarowej.
Na koniec tego podrozdziału podamy oszacowanie błędu kwadratury . Ponieważ
z twierdzenia 13.2 natychmiast otrzymujemy następujący wniosek.
Jeśli to błąd kwadratury interpolacyjnej jest ograniczony przez
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 .
Dla danego wprowadzamy podział kostki na podkostek
Następnie na każdej podkostce stosujemy prostą kwadraturę interpolacyjną opartą na siatce regularnej składającej się z punktów. Skonstruowaną w ten sposób kwadraturę złożoną oznaczymy przez .
Jeśli bazową kwadraturą jednowymiarową jest reguła punktu środkowego,
to wynikową kwadraturą złożoną na jest po prostu reguła prostokątów
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.
Kwadratura złożona korzysta z co najwyżej
wartości funkcji . Jeśli to jej błąd
Złożone kwadratury interpolacyjne mogą być z powodzeniem stosowane dla niskich wymiarów, powiedzmy . Dla dużych wymiarów 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 punkty na każdej współrzędnej to całkowita liczba punktów siatki regularnej wyniesie . Pamiętamy, że w wielu praktycznych zastosowaniach 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 , gdzie jest liczbą wszystkich użytych punktów. To drugi powód do niepokoju, uzasadniony poniższym przykładem.
Załóżmy, że chcemy całkować funkcję zmiennych i jako kwadraturę bazową stosujemy kwadraturę Simpsona, dla której . Górne ograniczenie błędu sugeruje, że aby być pewnym wyniku z dokładnością to musimy obliczyć wartości funkcji w aż punktach. Czy naprawdę jest aż tak źle?
Rzeczywiście jest tak źle, a nawet gorzej. Okazuje się, że rzędu zbieżości nie da się poprawić w klasie funkcji . Mówi o tym następujące twierdzenie.
Istnieje o następującej własności. Dla dowolnej aproksymacji całki wykorzystującej wartości funkcji można znaleźć funkcję dla której , a błąd aproksymacji całki wynosi co najmniej .
Załóżmy, że dana aproksymacja całki oblicza wartości funkcji w punktach , . Dowód twierdzenia polega na konstrukcji dwóch funkcji, i , które zerują się we wszystkich (a tym samym ich całki są aproksymowane tą samą liczbą), dla których , ale różnica całek
dla pewnej niezależnej od i . Wtedy, przynajmniej dla jednej z tych funkcji błąd aproksymacji całki wynosi co najmniej .
Wybierzmy taką, że i skonstruujmy na regularną siatkę składającą się z kostek, każda o krawędzi długości .
Niech dalej będzie dowolną funkcją -krotnie różniczkowalną w sposób ciągły spełniającą następujące warunki:
dla ,
dla ,
.
Każdej kostce
naszej regularnej siatki przyporządkujemy funkcję
Zauważmy, że oraz
Jasne jest, że istnieje co najmniej multi-indeksów (kostek) takich, że żaden z punktów nie należy do wnętrza . Oznaczmy zbiór takich indeksów przez i zdefiniujmy funkcje
Wtedy obie funkcje zerują się w , , oraz
Podstawiając dostajemy ostatecznie
Opisane zjawisko nosi nazwę przekleństwa wymiaru.
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
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.