PKow: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
===Metoda iteracji prostej Banacha=== | |||
Zupełnie inne, i jak się okaże --- przy odrobinie sprytu bardzo skuteczne --- | |||
podejście do wyznaczania miejsca zerowego jest oparte na metodzie Banacha. | |||
Najpierw nasze równanie nieliniowe | |||
<center><math>\displaystyle | |||
f(x) = 0 | |||
</math></center> | |||
przekształcamy (dobierając odpowiednią funkcję <math>\displaystyle \phi</math>) do równania równoważnego | |||
(tzn. mającego te same rozwiązania) | |||
<center><math>\displaystyle | |||
x\,=\,\phi( x). | |||
</math></center> | |||
Następnie, startując z pewnego przybliżenia | |||
początkowego <math>\displaystyle x_0</math>, konstruujemy ciąg kolejnych | |||
przybliżeń <math>\displaystyle x_k</math> według wzoru | |||
<center><math>\displaystyle x_k\,=\,\phi( x_{k-1}),\qquad k\ge 1. | |||
</math></center> | |||
{{twierdzenie|Banacha, o zbieżności iteracji prostej|| | |||
Niech <math>\displaystyle D_0</math> będzie domkniętym | |||
podzbiorem dziedziny <math>\displaystyle D</math>, | |||
<center><math>\displaystyle \overline D_0\,=\,D_0\subset D, | |||
</math></center> | |||
w którym <math>\displaystyle \phi</math> jest odwzorowaniem zwężającym. | |||
To znaczy, <math>\displaystyle \phi(D_0)\subset D_0</math>, oraz istnieje stała | |||
<math>\displaystyle 0\le L<1</math> taka, że | |||
<center><math>\displaystyle \|\phi( x)-\phi( y)\|\,\le\,L\,\| x- y\|, | |||
\qquad\forall x, y\in D_0. | |||
</math></center> | |||
Wtedy równanie | |||
<center><math>\displaystyle | |||
x\,=\,\phi( x). | |||
</math></center> | |||
ma dokładnie jedno | |||
rozwiązanie <math>\displaystyle x^*</math>, oraz | |||
<center><math>\displaystyle x^*\,=\,\lim_{k\to\infty} x_k, | |||
</math></center> | |||
dla dowolnego przybliżenia początkowego | |||
<math>\displaystyle x_0\in D_0</math>. | |||
}} | |||
{{dowod||| | |||
Wobec | |||
<center><math>\begin{matrix} \| x_k- x_{k-1}\| & = & | |||
\|\phi( x_{k-1})-\phi( x_{k-2})\| | |||
& \le & L\| x_{k-1}- x_{k-2}\| \\ | |||
\ &\le& \cdots\;&\le&\;L^{k-1}\| x_1- x_0\|, | |||
\end{matrix}</math></center> | |||
dla <math>\displaystyle k\ge s</math> mamy | |||
<center><math>\begin{matrix} \| x_k- x_s\| | |||
& \le & \sum_{j=s+1}^k\| x_j- x_{j-1}\| | |||
& \le & \sum_{j=s+1}^k L^{j-1}\| x_1- x_0\| | |||
& = & L^s(1+L+\cdots+L^{k-s-1})\| x_1- x_0\| \\ \ | |||
& \le & \frac{L^s}{1-L}\| x_1- x_0\|. | |||
\end{matrix}</math></center> | |||
Ciąg <math>\displaystyle \{ x_k\}_k</math> jest więc ciągiem Cauchy'ego. | |||
Stąd istnieje granica | |||
<math>\displaystyle \vec\alpha=\lim_{k\to\infty} x_k</math>, która należy do | |||
<math>\displaystyle D_0</math>, wobec domkniętości tego zbioru. Ponieważ | |||
lipschitzowskość <math>\displaystyle \phi</math> implikuje jej ciągłość, | |||
mamy też | |||
<center><math>\displaystyle \phi(\vec\alpha)\,=\,\phi\Big(\lim_{k\to\infty} x_k\Big) | |||
\,=\,\lim_{k\to\infty}\phi( x_k) | |||
\,=\,\lim_{k\to\infty} x_k\,=\,\vec\alpha, | |||
</math></center> | |||
tzn. <math>\displaystyle \vec\alpha</math> jest punktem stałym odwzorowania <math>\displaystyle \phi</math>. | |||
Dla jednoznaczności zauważmy, że jeśliby istniał | |||
drugi, różny od <math>\displaystyle \vec\alpha</math>, punkt stały <math>\displaystyle \vec\beta</math>, | |||
to mielibyśmy | |||
<center><math>\displaystyle \|\vec\alpha-\vec\beta\|\,=\, | |||
\|\phi(\vec\alpha)-\phi(\vec\beta)\| | |||
\,\le\,L\,\|\vec\alpha-\vec\beta\|. | |||
</math></center> | |||
Stąd <math>\displaystyle 1<L</math>, co jest sprzeczne z założeniem, że | |||
<math>\displaystyle \phi</math> jest zwężająca. }} | |||
Z powyższych rozważań otrzymujemy natychmiastowy | |||
wniosek dotyczący zbieżności iteracji prostych. | |||
{{wniosek||| | |||
Przy założeniach [[twit|Uzupe�nij: twierdzenia Banacha]], | |||
metoda iteracji prostych jest zbieżna co | |||
najmniej liniowo z ilorazem <math>\displaystyle L</math>, tzn. | |||
<center><math>\displaystyle \| x_k- x^*\|\,\le\,L^k\,\| x_0- x^*\|. | |||
</math></center> | |||
}} | |||
{{przyklad||| | |||
Dla ilustracji, rozpatrzmy natępujące proste | |||
równanie skalarne: | |||
<center><math>\displaystyle | |||
x\,=\,\cos(x), \qquad \mbox{dla} \qquad x\in D= R. | |||
</math></center> | |||
W tym przypadku <math>\displaystyle \phi(x)=\cos(x)</math>. Zauważamy, że w | |||
przedziale <math>\displaystyle [0,1]</math> funkcja <math>\displaystyle \phi</math> jest zwężająca ze | |||
stałą | |||
<center><math>\displaystyle L\,=\,\max_{0\le x\le 1}|\cos'(x)|\,=\,\sin(1)\,<\,1. | |||
</math></center> | |||
Stąd istnieje dokładnie jedno rozwiązanie naszego równania | |||
w przedziale <math>\displaystyle [0,1]</math>. Rozwiązanie to może | |||
być aproksymowane z dowolnie małym błędem przy pomocy | |||
iteracji prostych, startując z dowolnego przybliżenia | |||
początkowego <math>\displaystyle x_0\in [0,1]</math>. | |||
}} | |||
Zaletą iteracji prostych jest fakt, że zbieżność | |||
nie zależy od wymiaru <math>\displaystyle n</math> zadania, ale tylko od stałej | |||
Lipschitza <math>\displaystyle L</math> (jednak w praktyce czasem sama stała Lipschitza może zależeć od | |||
wymiaru zadania...). Metoda Banacha ma szczególne zastosowanie w | |||
przypadku, gdy funkcja <math>\displaystyle \phi</math> jest zwężająca na całym | |||
zbiorze <math>\displaystyle D</math>, tzn. <math>\displaystyle D_0=D</math>. Jeśli ponadto <math>\displaystyle D</math> ma | |||
skończoną średnicę <math>\displaystyle \mbox{diam} (D)</math>, to dla | |||
osiągnięcia <math>\displaystyle \epsilon</math>-aproksymacji zera funkcji <math>\displaystyle f</math> | |||
wystarczy wykonać | |||
<center><math>\displaystyle k\,=\,k(\epsilon)\,=\,\Big\lceil\frac | |||
{\log(\| x_0- x^*\|/\epsilon)}{\log(1/L)}\Big\rceil | |||
\,=\,\Big\lceil\frac | |||
{\log( \mbox{diam} (D)/\epsilon)}{\log(1/L)}\Big\rceil | |||
</math></center> | |||
iteracji, niezależnie od <math>\displaystyle x_0</math>. Metody zbieżne dla | |||
dowolnego przybliżenia początkowego, nazywamy | |||
''zbieżnymi globalnie''. Obie przedstawione dotychczas metody: bisekcji i | |||
Banacha, przy rozsądnych | |||
założeniach, są zbieżne globalnie. | |||
Okazuje się, że metoda iteracji prostej może być --- w bardzo szczególnych | |||
przypadkach --- zbieżna szybciej niż liniowo. Z taką sytuacją będziemy mieli, | |||
gdy korzystać będziemy z metody Newtona. | |||
==Wyznaczanie wektorów i wartości własnych== | ==Wyznaczanie wektorów i wartości własnych== | ||
Wersja z 20:23, 29 sie 2006
Metoda iteracji prostej Banacha
Zupełnie inne, i jak się okaże --- przy odrobinie sprytu bardzo skuteczne --- podejście do wyznaczania miejsca zerowego jest oparte na metodzie Banacha.
Najpierw nasze równanie nieliniowe
przekształcamy (dobierając odpowiednią funkcję ) do równania równoważnego (tzn. mającego te same rozwiązania)
Następnie, startując z pewnego przybliżenia początkowego , konstruujemy ciąg kolejnych przybliżeń według wzoru
Twierdzenie Banacha, o zbieżności iteracji prostej
Niech będzie domkniętym podzbiorem dziedziny ,
w którym jest odwzorowaniem zwężającym. To znaczy, , oraz istnieje stała taka, że
Wtedy równanie
ma dokładnie jedno rozwiązanie , oraz
dla dowolnego przybliżenia początkowego .
Dowód
Wobec
dla mamy
Ciąg jest więc ciągiem Cauchy'ego. Stąd istnieje granica , która należy do , wobec domkniętości tego zbioru. Ponieważ lipschitzowskość implikuje jej ciągłość, mamy też
tzn. jest punktem stałym odwzorowania . Dla jednoznaczności zauważmy, że jeśliby istniał drugi, różny od , punkt stały , to mielibyśmy
Stąd , co jest sprzeczne z założeniem, że
jest zwężająca.
Z powyższych rozważań otrzymujemy natychmiastowy wniosek dotyczący zbieżności iteracji prostych.
Wniosek
Przy założeniach Uzupe�nij: twierdzenia Banacha, metoda iteracji prostych jest zbieżna co najmniej liniowo z ilorazem , tzn.
Przykład
Dla ilustracji, rozpatrzmy natępujące proste równanie skalarne:
W tym przypadku . Zauważamy, że w przedziale funkcja jest zwężająca ze stałą
Stąd istnieje dokładnie jedno rozwiązanie naszego równania w przedziale . Rozwiązanie to może być aproksymowane z dowolnie małym błędem przy pomocy iteracji prostych, startując z dowolnego przybliżenia początkowego .
Zaletą iteracji prostych jest fakt, że zbieżność nie zależy od wymiaru zadania, ale tylko od stałej Lipschitza (jednak w praktyce czasem sama stała Lipschitza może zależeć od wymiaru zadania...). Metoda Banacha ma szczególne zastosowanie w przypadku, gdy funkcja jest zwężająca na całym zbiorze , tzn. . Jeśli ponadto ma skończoną średnicę , to dla osiągnięcia -aproksymacji zera funkcji wystarczy wykonać
iteracji, niezależnie od . Metody zbieżne dla dowolnego przybliżenia początkowego, nazywamy zbieżnymi globalnie. Obie przedstawione dotychczas metody: bisekcji i Banacha, przy rozsądnych założeniach, są zbieżne globalnie.
Okazuje się, że metoda iteracji prostej może być --- w bardzo szczególnych przypadkach --- zbieżna szybciej niż liniowo. Z taką sytuacją będziemy mieli, gdy korzystać będziemy z metody Newtona.
Wyznaczanie wektorów i wartości własnych
Przykład Moj przykład
Algorytm Nie robiący nic
Leż




Ćwiczenie: Ciag dalszy
Spróbuj obniżyć koszt wyznaczania dla dużych !