MN04LAB: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „<math> ” na „<math>” |
m Zastępowanie tekstu – „,↵</math>” na „</math>,” |
||
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
Linia 29: | Linia 29: | ||
Rzeczywiście, dla pierwszego algorytmu obliczony w <math>fl_\nu</math> wynik <math>\tilde{s}</math> spełnia | Rzeczywiście, dla pierwszego algorytmu obliczony w <math>fl_\nu</math> wynik <math>\tilde{s}</math> spełnia | ||
<center><math> | <center><math> | ||
\tilde{s} = fl_\nu(fl_\nu(a\cdot a)-fl_\nu(b\cdot b)) = (a^2(1+\epsilon_a) - b^2(1+\epsilon_b))(1+\epsilon_{-}) | \tilde{s} = fl_\nu(fl_\nu(a\cdot a)-fl_\nu(b\cdot b)) = (a^2(1+\epsilon_a) - b^2(1+\epsilon_b))(1+\epsilon_{-})</math>,</center> | ||
</math></center> | |||
gdzie <math>|\epsilon_{a}|, |\epsilon_{b}|, |\epsilon_{-}| \leq \nu</math>. A więc jesteśmy w sytuacji, gdy --- jeśli tylko <math>|a|\approx |b|</math> --- może nastąpić redukcja cyfr przy odejmowaniu... | gdzie <math>|\epsilon_{a}|, |\epsilon_{b}|, |\epsilon_{-}| \leq \nu</math>. A więc jesteśmy w sytuacji, gdy --- jeśli tylko <math>|a|\approx |b|</math> --- może nastąpić redukcja cyfr przy odejmowaniu... | ||
Linia 36: | Linia 35: | ||
Natomiast drugi algorytm w ogóle nie jest na to czuły, | Natomiast drugi algorytm w ogóle nie jest na to czuły, | ||
<center><math> | <center><math> | ||
\tilde{s} = fl_\nu(fl_\nu(a - b) \times fl_\nu(a + b)) = ((a-b)(1+\epsilon_{-}) \cdot (a+b)(1+\epsilon_{+}))(1+\epsilon_{\times}) | \tilde{s} = fl_\nu(fl_\nu(a - b) \times fl_\nu(a + b)) = ((a-b)(1+\epsilon_{-}) \cdot (a+b)(1+\epsilon_{+}))(1+\epsilon_{\times})</math>,</center> | ||
</math></center> | |||
gdzie znów <math>|\epsilon_{+}|, |\epsilon_{-}|, |\epsilon_{\times}| \leq \nu</math>. | gdzie znów <math>|\epsilon_{+}|, |\epsilon_{-}|, |\epsilon_{\times}| \leq \nu</math>. | ||
Linia 43: | Linia 41: | ||
<center><math> | <center><math> | ||
\tilde{s} = (a-b)(a+b)(1+\epsilon_{-})(1+\epsilon_{+})(1+\epsilon_{\times})= | \tilde{s} = (a-b)(a+b)(1+\epsilon_{-})(1+\epsilon_{+})(1+\epsilon_{\times})= | ||
= (a^2 - b^2)(1+E) | = (a^2 - b^2)(1+E)</math>,</center> | ||
</math></center> | |||
gdzie <math>|E| \leq 3\nu</math>, algorytm drugi będzie <strong>zawsze</strong> dawał wynik obarczony małym błędem względnym. | gdzie <math>|E| \leq 3\nu</math>, algorytm drugi będzie <strong>zawsze</strong> dawał wynik obarczony małym błędem względnym. | ||
Linia 61: | Linia 58: | ||
<center><math>\cos(a,b)\,=\,\frac{\sum_{j=1}^n a_jb_j} | <center><math>\cos(a,b)\,=\,\frac{\sum_{j=1}^n a_jb_j} | ||
{\sqrt{\Big(\sum_{j=1}^n a_j^2\Big) | {\sqrt{\Big(\sum_{j=1}^n a_j^2\Big) | ||
\Big(\sum_{j=1}^n b_j^2\Big)}} | \Big(\sum_{j=1}^n b_j^2\Big)}}</math>,</center> | ||
</math></center> | |||
jest numerycznie poprawny. Oszacować błąd względny wyniku | jest numerycznie poprawny. Oszacować błąd względny wyniku | ||
Linia 78: | Linia 74: | ||
<math>x\inR^n</math> jest numerycznie poprawny. Dokładniej, | <math>x\inR^n</math> jest numerycznie poprawny. Dokładniej, | ||
<center><math>fl_\nu (\|A x\|_2)\,=\,(A+E) x | <center><math>fl_\nu (\|A x\|_2)\,=\,(A+E) x</math>,</center> | ||
</math></center> | |||
gdzie <math>\|E\|_2\leq 2(n+2)\sqrt n\nu\|A\|_2</math>. Ponadto, jeśli | gdzie <math>\|E\|_2\leq 2(n+2)\sqrt n\nu\|A\|_2</math>. Ponadto, jeśli | ||
Linia 85: | Linia 80: | ||
<center><math>|fl_\nu(\|A x\|_2)-\|A x\|_2|\,\leq\,2(n+2)\sqrt{n}\,\nu\, | <center><math>|fl_\nu(\|A x\|_2)-\|A x\|_2|\,\leq\,2(n+2)\sqrt{n}\,\nu\, | ||
\left(\|A\|_2\|A^{-1}\|_2\right)\,\|A x\|_2 | \left(\|A\|_2\|A^{-1}\|_2\right)\,\|A x\|_2</math></center> | ||
</math></center> | |||
</div></div> | </div></div> | ||
Linia 103: | Linia 97: | ||
<math>f\in F_0</math> | <math>f\in F_0</math> | ||
<center><math>|y_{\nu,j}-y_j|\,\le\,K_1\,\nu\,|y_j|, \qquad 1\le j\le n | <center><math>|y_{\nu,j}-y_j|\,\le\,K_1\,\nu\,|y_j|, \qquad 1\le j\le n</math>,</center> | ||
</math></center> | |||
gdzie <math>y=(y_1,\ldots,y_n)</math>. | gdzie <math>y=(y_1,\ldots,y_n)</math>. | ||
Linia 125: | Linia 118: | ||
Ponieważ nasze zadanie to wyznaczenie <math>x^* = f^{-1}(0)</math>, to | Ponieważ nasze zadanie to wyznaczenie <math>x^* = f^{-1}(0)</math>, to | ||
<center><math> | <center><math> | ||
\mbox{cond} _{abs} (f^{-1},0) = \frac{1}{f'(x^*)} | \mbox{cond} _{abs} (f^{-1},0) = \frac{1}{f'(x^*)}</math></center> | ||
</math></center> | |||
Znaczy to, że im bardziej płaska jest <math>f</math> w otoczeniu pierwiastka <math>x^*</math>, tym | Znaczy to, że im bardziej płaska jest <math>f</math> w otoczeniu pierwiastka <math>x^*</math>, tym |
Aktualna wersja na dzień 21:50, 11 wrz 2023
Uwarunkowanie zadania i algorytmy numerycznie poprawne.
<<< Powrót do strony głównej przedmiotu Metody numeryczne
Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__
Ćwiczenie
Aby obliczyć można zastosować dwa algorytmy: oraz . Pokazać, że oba algorytmy są numerycznie poprawne, ale drugi z nich wywołuje mniejszy błąd względny wyniku w przypadku, gdy i .
Rozwiązanie
Ćwiczenie
Pokazać, że naturalny algorytm obliczania cosinusa kąta między dwoma wektorami ,
jest numerycznie poprawny. Oszacować błąd względny wyniku w .
Ćwiczenie
Podaj przykład funkcji , której miejsce zerowe ma wspólczynnik uwarunkowania
- mały
- duży
Rozwiązanie