• Nie Znaleziono Wyników

Przypadek osobliwy Kolejny lemat mówi, w jaki sposób możemy oszacować wielkości skoków wartości

W dokumencie Index of /rozprawy2/10417 (Stron 67-73)

Optymalna aproksymacja całki Itô funkcji deterministycznych regularnych i osobliwych

3.2. Przypadek osobliwy Kolejny lemat mówi, w jaki sposób możemy oszacować wielkości skoków wartości

funkcji w punkcie osobliwym, należącym do przedziału (c, d), za pomocą wartości testu (3.64).

Lemat 3.2. ([19]) Istnieją stałe dodatnie Kj, j = 0, 1, . . . , r, które zależą jedynie od

j, r oraz L, takie, że dla dowolnych c, d ∈ [0, T ], c < d, zachodzi następująca implikacja:

jeżeli uf ∈ (c, d), to |∆jf| ¬ Kj(Af(c, d) + 1)(d − c)r−j+%, j = 0, 1, . . . , r. (3.67)  Tak jak w pracy [19], dla danego n będziemy rozróżniać groźne i niegroźne osobliwości. W tym celu zdefiniujemy pewne podklasy funkcji podcałkowych f . Niech K będzie stałą dodatnią zależną jedynie od parametrów klasy Fsng,1r,% oraz T . Dla dowolnego

n ∈ N definiujemy podklasę MK(n) klasy Fsng,1r,% w następujący sposób

MK(n) =  f ∈ Fsng,1r,% | r X j=0 |∆jf|n−j ¬ Kn−(r+%)  .

Dla n ¬ ¯n zachodzi inkluzja MKn) ⊂ MK(n). Osobliwości uf dla funkcji f ∈ MK(n) będziemy nazywać osobliwościami niegroźnymi dla danego n ze stałą K. W przeciw-nym przypadku osobliwości te będziemy nazywać groźprzeciw-nymi dla danego n. Oczywiście dana niegroźna osobliwość uf (z co najmniej jednym niezerowym skokiem) stanie się osobliwością groźną dla dostatecznie dużego n.

Za [19] opiszemy teraz algorytm oparty na wartościach testu Af(c, d), który wy-krywa groźną osobliwość f lub też sygnalizuje, że jest ona niegroźna. Algorytm ten działa poprawnie, o ile r +% > 1/2. Jak się przekonamy w dalszej części pracy, warunek ten nie zmniejsza ogólności rozpatrywanego problemu (zobacz Uwagę 3.5 na stronie 71.).

Procedura lokalizująca groźne osobliwości funkcji f : [0, T ] → R z klasy Fsng,1r,% , oparta na wartościach testu Af(c, d), przebiega następująco. Weź dowolne D > 0 i niech {ai}n+1

i=1 będzie siatką zdefiniowaną jak w (3.15). Obliczamy następnie wielkość ¯

Af = max

1¬i¬nAf(ai, ai+1). (3.68)

Zakładamy, że jeśli uf = ai dla pewnego i, wówczas procedura obliczająca wartość

f(j)(ai) sygnalizuje, że osobliwość została znaleziona w sposób dokładny. Można wtedy wykrytą osobliwość dodać do siatki {ai}n+1i=1 lub też przyjąć, że leży ona w przedziale (c, d), którego miara jest mniejsza lub równa (T /n)2(r+%). Jeżeli w tym kroku uf nie zo-stała zlokalizowana dokładnie, to przechodzimy do dalszej części algorytmu z informa-cją, że uf 6= ai dla wszystkich i = 1, 2, . . . , n + 1.

Jeśli maksimum w (3.68) jest osiągnięte na dwóch rozłącznych przedziałach (ai, ai+1) i (aj, aj+1), wtedy musi zachodzić ¯Af ¬ L. Nierówność ¯Af > L nie może

zajść ponieważ Af(ai, ai+1) = Af(aj, aj+1) > L oraz (3.66) implikują, że osobliwość uf

należy do dwóch rozłącznych przedziałów, co z jedyności uf prowadzi do sprzeczności. Zatem, w tym przypadku albo przedział (0, T ) nie zawiera osobliwości, albo zawiera osobliwość niegroźną ze stałą K = L, to jest zachodzi

r

X

j=0

|∆jf|n−j ¬ Ln−(r+%).

Załóżmy teraz, że ¯Af = Af(al, al+1) dla dokładnie jednego indeksu l. Sprawdzamy, czy ¯Af ¬ D. Jeżeli TAK, to osobliwość ta jest niegroźna przy danym n ze stałą K = D. Jeśli NIE, wówczas groźna osobliwość (jeśli istnieje) musi leżeć w (al, al+1). W celu uzasadnienia tego faktu załóżmy nie wprost, że uf ∈ (ai, ai+1) dla pewnego

i 6= l oraz, że Af(ai, ai+1) > L. Wówczas mamy Af(al, al+1) > Af(ai, ai+1) > L, a stąd oraz z (3.66) wynika, że uf należy do dwóch rozłącznych przedziałów (al, al+1) i (ai, ai+1), co prowadzi do sprzeczności. Jeśli więc uf ∈ (a/ l, al+1), wówczas osobliwość ta jest niegroźna ze stałą K = L.

Będziemy teraz zmniejszać wielkość przedziału potencjalnie zawierającego groźną osobliwość za pomocą metody bisekcji. Startujemy z przedziału (al, al+1), w którym zostało osiągnięte jedyne maksimum w (3.68) oraz w którym ¯Af > D. Bierzemy v = (al+ al+1)/2 i obliczamy wartości f (v), f0(v), . . . , f(r)(v). Jeżeli v okaże się punk-tem osobliwym, to przerywamy algorytm. W przeciwnym przypadku obliczamy war-tości testów Af(al, v) i Af(v, al+1). Jeśli Af(al, v) = Af(v, al+1), wówczas przerywamy algorytm, gdyż osobliwość okazuje się niegroźna ze stałą K = L. Załóżmy bowiem, że jeżeli Af(al, v) = Af(v, al+1) > L, to znów na podstawie (3.66) osobliwość uf musiałaby należeć do dwóch rozłącznych przedziałów, co jest niemożliwe.

Jeśli Af(al, v) 6= Af(v, al+1), wówczas jako kolejny przedział w bisekcji wybie-ramy ten z (al, v), (v, al+1), na którym wartość testu jest większa. Zauważmy, że może zajść przypadek, że wybierzemy przedział, który w rzeczywistości nie zawiera osobliwości. Wówczas musi być prawdziwa nierówność Af(v, ak+1) ¬ L, czyli że uf jest niegroźna ze stałą K = L przy danym n. W przeciwnym razie mielibyśmy

Af(ak, v) > Af(v, ak+1) > L, co prowadziłoby znów do sytuacji, w której uf należy do dwóch rozłącznych przedziałów. Zatem, jeśli w czasie wybierania kolejnego przedziału utracimy osobliwość w sposób opisany powyżej, wówczas taka osobliwość okazuje się niegroźna.

W konsekwencji, bisekcja daje ciąg przedziałów (c, d) zawierających groźną osobli-wość (jeśli taka istnieje).

3.2.

Przypadek osobliwy

Po O(log2n) krokach dostajemy przedział (c, d) o długości d − c ¬ (T /n)2(r+%) taki, że

uf ∈ (c, d) =⇒ ∃(¯/ c, ¯d) ⊂ (0, T ) : ¯d − ¯c ¬ T /n, uf ∈ (¯c, ¯d), Afc, ¯d) ¬ L. (3.69) Z Lematu 3.2 oraz z (3.69) wynika, że jeżeli uf ∈ (c, d), to/

r X j=0 |∆jf|n−j ¬ (L + 1) max 0¬j¬rKj T%T r+1− 1 T − 1 n −(r+%) , (3.70)

co oznacza, że uf jest osobliwością niegroźną ze stałą K = (L + 1) max

0¬j¬rKj T%T

r+1− 1 T − 1

(stosujemy konwencję, że 0/0 = r + 1). Mamy więc pewność, że osobliwość groźna ze stałą K (o ile istnieje) należy do (c, d).

Omówiona metoda lokalizująca nieznaną osobliwość może być zapisana w postaci następującego pseudokodu.

Obierz dowolnie D > 0.

L1 Oblicz wartości f(j)(ai) dla i = 1, 2, . . . , n + 1, j = 0, 1, . . . , r. Jeżeli uf = ai dla pewnego i, to przejdź do STOP z komunikatem DOKŁADNA(uf).

L2 Oblicz wielkość ¯Af

¯

Af = max

1¬i¬nAf(ai, ai+1). (3.71)

Jeżeli dla dwóch różnych i oraz j zajdzie równość ¯Af = Af(ai, ai+1) = Af(aj, aj+1), to przejdź do STOP z komunikatem NIEGROŹNA.

L3 Sprawdź, czy ¯Af ¬ D. Jeśli TAK, wówczas przejdź do STOP z komunikatem

NIEGROŹNA. Jeśli NIE, wówczas wybierz ten przedział (c, d) = (al, al+1), na którym zostało osiągnięte maksimum w (3.71). Przyjmij za s = 0 i smax = d(2(r +

%) − 1) log2(n/T )e.

L4 Zwiększ licznik s := s + 1. Oblicz v = (c + d)/2 oraz f(j)(v) dla j = 0, 1, . . . , r. Jeżeli v = uf, to przejdź do STOP z komunikatem DOKŁADNA(uf).

L5 Oblicz wartości testów Af(c, v) i Af(v, d), oraz sprawdź, czy Af(c, v) = Af(v, d). Jeżeli TAK, to przejdź do STOP z komunikatem NIEGROŹNA. Jeśli NIE, wówczas wybierz kolejny przedział (c, d) w następujący sposób:

(c, d) = (c, v), gdy Af(c, v) > Af(v, d), (v, d), gdy Af(c, v) < Af(v, d). (3.72) Jeżeli s < smax, to wróć do L4. STOP

Komunikat algorytmu NIEGROŹNA oznacza, że (nieznana) osobliwość uf okazała się niegroźną z pewną stałą K. Natomiast informacja DOKŁADNA(uf) oznacza, że

trafiliśmy dokładnie punktem siatki w punkt osobliwy.

Koszt informacyjny kroków L1–L5 algorytmu jest ograniczony z góry przez (n + 1)(r + 1) + d(2(r + %) − 1) log2n + log2(1/T )2(r+%)−1e(r + 1) wartości f lub jej pochodnych.

Oszacowanie to jest konsekwencją kroku L1 (pierwszy człon oszacowania) oraz loga-rytmicznej liczby powtórzeń kroków L4–L5 (drugi człon oszacowania).

Uwaga 3.3. Zauważmy, że w ogólności nie znamy L i algorytm nie wykorzystuje wartości tego parametru. W przypadku gdy L jest znane, najlepszym wyborem stałej

D jest D = L.

 3.2.2. Błąd nieadaptacyjnego algorytmu AIT w klasie funkcji osobliwych

Oszacujemy teraz z góry błąd algorytmu Itô–Taylora AIT w klasie funkcji osobli-wych Fr,%

sng,p. Wynik ten będzie potrzebny do konstrukcji adaptacyjnego odpowiednika tego algorytmu. Ze względów, które okażą się jasne w dalszej części pracy, oddzielnie podajemy ograniczenia na błąd algorytmu AIT w klasie Fsng,pr,% , gdy p = 1 oraz p ­ 2.

W przypadku osobliwym dla schematu AIT, jeżeli pochodna f(j)(ai) nie istnieje, to przez f(j)(ai) rozumiemy pochodną prawostronną f(j)(a+i ).

Lemat 3.3. Istnieją stałe dodatnie C oraz n0, które zależą tylko od parametrów klasy

Fsng,1r,% i T , takie, że dla wszystkich f ∈ Fsng,1r,% oraz n ­ n0 mamy

e(AIT, f ) ¬ C  n−(r+%)+ n−1/2 r X j=0 |∆jf|n−j  . (3.73)

Dowód. Dowód lematu przeprowadzimy w ogólniejszym przypadku, gdy f ∈ Fr,%

sng,p i

p ­ 1. Niech funkcja ˆf będzie zdefiniowana za pomocą (3.21). Weźmy n ­ p i niech

punkty dyskretyzacji {ai} będą zdefiniowane przez (3.15). Dla i = 1, 2, . . . , n przez m(f, i) oznaczamy liczbę punktów osobliwych funkcji f , które należą do przedziału

(ai, ai+1). Przez S(f ) rozumiemy następujący zbiór indeksów:

S(f ) = {i : 1 ¬ i ¬ n, m(f, i) > 0}. (3.74)

Liczebność zbioru S(f ) (oznaczana przez ]S(f )) jest równa liczbie przedziałów (ai, ai+1) zawierających co najmniej jedną osobliwość funkcji f . Jeżeli S(f ) = ∅, to wówczas albo f nie ma punktów osobliwych, albo każda osobliwość pokrywa się z ja-kimś punktem siatki. W takim przypadku oszacowanie błędu algorytmu AIT przebiega tak jak w przypadku regularnym. Załóżmy zatem, że S(f ) 6= ∅. Oczywiście ]S(f ) ¬ p oraz P

i∈S(f )m(f, i) ¬ p. Dla i ∈ S(f ) oraz α ∈ {1, 2, . . . , m(f, i)} przez u(α,i)f ozna-czamy te spośród osobliwości u1

f, u2

3.2.

Przypadek osobliwy

w sposób rosnący, czyli u(1,i)f < u(2,i)f < . . . < u(m(f,i),i)f . Z Lematu B.5 (Dodatek B) zastosowanego do g := f i p := m(f, i) mamy dla t ∈ [ai, ai+1)

|f (t) − ˆf (t)| ¬ C  n−(r+%)+ ˜δf,i  , (3.75) przy czym ˜ δf,i = r X jm(f,i)=0 | ˜jm(f,i),m(f,i) f |n−jm(f,i) + r X jm(f,i)=0 r X jm(f,i)−1=jm(f,i)

| ˜jfm(f,i)−1,m(f,i)−1|n−jm(f,i)−1

+ r X jm(f,i)=0 r X jm(f,i)−1=jm(f,i) r X jm(f,i)−2=jm(f,i)−1 | ˜jm(f,i)−2,m(f,i)−2 f |n−jm(f,i)−2 + . . . + r X jm(f,i)=0 r X jm(f,i)−1=jm(f,i) . . . r X j2=j3 r X j1=j2 | ˜j1,1 f |n−j1, (3.76) oraz ˜

jfm(f,i)−β,m(f,i)−β := f(jm(f,i)−β)u(m(f,i)−β,i)+f



− f(jm(f,i)−β)u(m(f,i)−β,i)−f



, (3.77) dla β ∈ {0, 1, . . . , m(f, i) − 1}. Stała C w (3.75) zależy jedynie od r, L, %, p oraz od T . Ponieważ f ∈ Fr,%

sng,p, więc istnieje stała dodatnia ˜C zależna tylko od p, r, M0, M1, . . . , Mr taka, że dla i ∈ S(f )

˜ δf,i¬ ˜C. (3.78) Na podstawie (3.75) i (3.78) dostajemy T Z 0 ( ˆf (t))2dt ¬ 2 T Z 0 (f (t))2dt + 2C2(1 + ˜C)2T, (3.79)

zatem funkcja ˆf należy do L2[0, T ]. Tak samo jak w dowodzie Stwierdzenia 3.1 mamy

AIT(f, B) =

T

Z

0

ˆ

f (t)dBt, gdzie tym razem błąd algorytmu AIT możemy zapisać w

na-stępujący sposób  e(AIT, f ) 2 = X i /∈S(f ) e2i + X i∈S(f ) e2i. Dla i ∈ S(f ) mamy z (3.75) e2i = ai+1 Z ai  f (t) − ˆf (t) 2 dt ¬ C1(n−(2(r+%)+1)+ n−1δf,i)2),

gdzie C1 zależy jedynie od r, L, %, p oraz T . Jeżeli i /∈ S(f ), to (jak w przypadku

regularnym) e2

i ¬ C2n−(2(r+%)+1), ze stałą C2 zależną tylko od r, L, % i T (zobacz (3.26)). Zatem  e(AIT, f ) 2 ¬ C  n−2(r+%)+ n−1 X i∈S(f )δf,i)2  . (3.80)

Nierówność (3.73) wynika ze wzoru (3.76) i (3.80) dla p = 1.

 Lemat 3.3 mówi, jak górne ograniczenia na błąd algorytmu AIT zależą od wielkości skoków ∆jf. Na przykład, dla nieciągłych funkcji f (∆0

f 6= 0) błąd AIT jest rzędu

|∆0

f|n− min{1/2,r+%}. Jeśli f jest ciągła i ma s ciągłych pochodnych (czyli ∆αf = 0 dla

α = 0, 1, . . . , s), gdzie 0 ¬ s ¬ r − 1, wówczas błąd jest równy O(n−(s+min{1/2,%})). Dla

s = r błąd wynosi O(n−(r+%)), czyli w tym przypadku otrzymujemy wynik znany z

przypadku regularnego. Ponadto, z Lematu 3.3 dla funkcji f ∈ MK(n) wynika, że

e(AIT, f ) ¬ C(1 + Kn−1/2)n−(r+%).

Oznacza to, że całki Itô I(f, B) z funkcji f ∈ MK(n) możemy przybliżać za pomocą

AIT(f, B) i oszacowanie błędu będzie takie samo (z dokładnością do stałej) jak w przy-padku regularnym. Fakt ten wykorzystamy przy konstrukcji adaptacyjnego algorytmu Itô–Taylora.

Uwaga 3.4. Jak już wspomnieliśmy wyżej, z Lematu 3.3 wynika, że algorytm AIT w klasie Fsng,1r,% ma błąd

e(AIT, Fsng,1r,% ) = O(n− min{1/2,r+%}). (3.81)

Gdy r + % > 1/2, mamy więc, że e(AIT, Fsng,1r,% ) = O(n−1/2). Ze Stwierdzenia 3.2 wynika, że dla algorytmu AIT i dla każdego n ∈ N istnieje funkcja f = fn, dla której błąd algorytmu AIT wynosi Ω(n−1/2), nie mówi jednak jakim się wzorem wyraża. W przypadku klasy Lipschitza Fsng,1r,1 podamy teraz wzór funkcji f , dla której błąd algorytmu AIT wynosi Ω(n−1/2). Mianowicie, niech n ­ 2 i {ai}n+1

i=1 będzie siatką jednostajną zdefiniowaną przez (3.15). Bierzemy i0 = dn/2e oraz uf = (ai0+ ai0+1)/2. Zauważmy, że uf ­ T /4, gdy n ­ 2. Funkcję f określamy następująco

f (t) = 1, t ∈ [0, uf), γtr+1+ 1, t ∈ [uf, T ]. (3.82)

Stałą γ > 0, która może zależeć jedynie od parametrów klasy Fsng,1r,1 oraz T , dobieramy tak, aby f należała do Fsng,1r,1 .

3.2.

Przypadek osobliwy

W dokumencie Index of /rozprawy2/10417 (Stron 67-73)

Powiązane dokumenty