Wskaźnik uwarunkowania

Wikipedia:Weryfikowalność
Ten artykuł od 2023-06 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Wskaźnik uwarunkowania określa, w jakim stopniu błąd reprezentacji numerycznej danych wejściowych danego problemu wpływa na błąd wyniku. Wskaźnik uwarunkowania definiuje się jako maksymalny stosunek błędu względnego rozwiązania do błędu względnego danych. Problem o niskim wskaźniku uwarunkowania nazywamy dobrze uwarunkowanym, zaś problemy o wysokim wskaźniku uwarunkowania – źle uwarunkowanymi. Zagadnienia o zbyt dużym wskaźniku uwarunkowania nie nadają się do numerycznego rozwiązywania, ponieważ już sam błąd wynikający z numerycznej reprezentacji liczb wprowadza nieproporcjonalnie duży błąd w odpowiedzi.

Wskaźnik uwarunkowania jest cechą problemu i jest niezależny od numerycznych właściwości konkretnych algorytmów. W odróżnieniu od błędu zaokrągleń wprowadzonego przez algorytm, wskaźnik uwarunkowania stanowi informację o błędzie przeniesionym z danych.

Wskaźnik uwarunkowania macierzy

Zasugerowano, aby ta sekcja została przeniesiona do artykułu Wskaźnik uwarunkowania macierzy. (dyskusja)

Wskaźnik uwarunkowania macierzy A {\displaystyle A} w równaniu A x = b {\displaystyle Ax=b} jest charakterystyczną własnością macierzy informującą o tym, jakie wzmocnienie będzie miała zmiana normy macierzy A na normę rozwiązania x.

Wskaźnik uwarunkowania macierzy definiuje się bardziej precyzyjnie jako maksymalny stosunek błędu względnego wektora rozwiązania x {\displaystyle x} do błędu względnego b . {\displaystyle b.}

Załóżmy, że e {\displaystyle e} jest błędem b . {\displaystyle b.} Stąd błąd w rozwiązaniu A 1 b {\displaystyle A^{-1}b} wynosi A 1 e . {\displaystyle A^{-1}e.} Stąd stosunek relatywnego błędu rozwiązania do relatywnego błędu w b {\displaystyle b} wynosi:

A 1 e / A 1 b e / b . {\displaystyle {\frac {\|A^{-1}e\|/\|A^{-1}b\|}{\|e\|/\|b\|}}.}

Można to przekształcić do:

( A 1 e / e ) ( b / A 1 b ) . {\displaystyle (\|A^{-1}e\|/\|e\|)\cdot (\|b\|/\|A^{-1}b\|).}

Maksymalna wartość (dla niezerowych b {\displaystyle b} i e {\displaystyle e} ) będzie iloczynem dwóch norm (definiowanych w różny sposób, np. często jako normę traktuje się maksymalną sumę wartości bezwzględnych wierszy):

κ ( A ) = A 1 A . {\displaystyle \kappa (A)=\|A^{-1}\|\cdot \|A\|.}

Definicja ta jest taka sama dla każdej zwartej normy. Liczba ta pojawia się tak często w algebrze liniowej, że nadano jej nazwę wskaźnika uwarunkowania macierzy.

Zastosowania

Wskaźnik uwarunkowania macierzy pozwala na oszacowanie, z jaką (maksymalnie) dokładnością (do ilu miejsc po przecinku) możemy podać wynik. Dokładność jest zależna od iloczynu epsilonu maszynowego i wskaźnika uwarunkowania. Załóżmy dla przykładu, że mamy macierz A : {\displaystyle \mathbf {A} {:}}

A = [ 1 2 3 4 ] , {\displaystyle \mathbf {A} ={\begin{bmatrix}1&2\\3&4\end{bmatrix}},}

A 1 = [ 2 1 1 , 5 0 , 5 ] . {\displaystyle \mathbf {A^{-1}} ={\begin{bmatrix}-2&1\\1{,}5&-0{,}5\end{bmatrix}}.}

Stosując tak zdefiniowaną normę: A = m a x 1 < i < n j = 1 n | a i j | {\displaystyle \|A\|=max_{1<i<n}\sum _{j=1}^{n}|a_{ij}|} możemy obliczyć wskaźnik uwarunkowania κ ( A ) = A 1 A = 21. {\displaystyle \kappa (A)=\|A^{-1}\|\cdot \|A\|=21.}

Załóżmy dodatkowo, że mamy do czynienia z maszyną, która przechowuje liczby rzeczywiste używając 24-bitowej mantysy, wtedy epsilon maszynowy wynosi ε m a s z = 2 1 24 = 0,119 209 10 6 . {\displaystyle \varepsilon _{masz}=2^{1-24}=0{,}119209\cdot 10^{-6}.} Po pomnożeniu tych wartości możemy oszacować do ilu miejsc po przecinku otrzymany wynik będzie istotny na podstawie poniższej równości:

5 10 m = 0 , 25 10 7 . {\displaystyle 5\cdot 10^{-m}=0{,}25\cdot 10^{-7}.}

Obliczając m, możemy wnioskować, że w tym przypadku dokładność wyniesie 6 miejsc po przecinku.

Jako inny przykład rozpatrzmy prosty układ równań typu A x = b . {\displaystyle \mathbf {A} \mathbf {x} =\mathbf {b} .} Jeśli do naszych obliczeń wybierzemy macierz o wysokim wskaźniku uwarunkowania, np.:

A = [ 1 2 2 3,999 ] ; b = [ 4 7,999 ] ; {\displaystyle \mathbf {A} ={\begin{bmatrix}1&2\\2&3{,}999\end{bmatrix}};\mathbf {b} ={\begin{bmatrix}4\\7{,}999\end{bmatrix}};} c o n d ( A ) = 35   988 , {\displaystyle cond(\mathbf {A} )=35\ 988,}

to otrzymane rozwiązanie jest niestabilne. Oznacza to, że mała zmiana wartości współczynników może znacząco wpłynąć na wynik.

W podanym wyżej przypadku rozwiązanie wynosi x = [ 2 1 ] . {\displaystyle \mathbf {x} ={\begin{bmatrix}2\\1\end{bmatrix}}.} Jeśli zmodyfikujemy następująco wektor b = [ 4 8 ] , {\displaystyle \mathbf {b} ={\begin{bmatrix}4\\8\end{bmatrix}},} to otrzymamy rozwiązanie x = [ 4 0 ] . {\displaystyle \mathbf {x} ={\begin{bmatrix}4\\0\end{bmatrix}}.}

W przypadku macierzy dobrze uwarunkowanej np.:

A = [ 1 2 2 3 ] ; b = [ 4 7,999 ] ; {\displaystyle \mathbf {A} ={\begin{bmatrix}1&2\\2&3\end{bmatrix}};\mathbf {b} ={\begin{bmatrix}4\\7{,}999\end{bmatrix}};} c o n d ( A ) = 25 , {\displaystyle cond(\mathbf {A} )=25,}

rozwiązanie wynosi x = [ 3,998 0,001 ] . {\displaystyle \mathbf {x} ={\begin{bmatrix}3{,}998\\0{,}001\end{bmatrix}}.}

Jeśli zmodyfikujemy następująco wektor b = [ 4 8 ] , {\displaystyle \mathbf {b} ={\begin{bmatrix}4\\8\end{bmatrix}},} to otrzymamy rozwiązanie x = [ 4 0 ] , {\displaystyle \mathbf {x} ={\begin{bmatrix}4\\0\end{bmatrix}},} które jest zbliżone do poprzedniego.

Zobacz też

  • efekt motyla
  • regularyzacja Tichonowa

Linki zewnętrzne

  • Zagadnienie uwarunkowania macierzy na Holistic Numerical Methods Institute
Encyklopedie internetowe (funkcja):
  • DSDE: konditionstal