Wskaźnik uwarunkowania

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Dopracować

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

Szablon:Podziel sekcję Wskaźnik uwarunkowania macierzy A w równaniu 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 do błędu względnego b.

Załóżmy, że e jest błędem b. Stąd błąd w rozwiązaniu A1b wynosi A1e. Stąd stosunek relatywnego błędu rozwiązania do relatywnego błędu w b wynosi:

A1e/A1be/b.

Można to przekształcić do:

(A1e/e)(b/A1b).

Maksymalna wartość (dla niezerowych b i 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)=A1A.

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 𝐀:

𝐀=[1234],

𝐀𝟏=[211,50,5].

Stosując tak zdefiniowaną normę: A=max1<i<nj=1n|aij| możemy obliczyć wskaźnik uwarunkowania κ(A)=A1A=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 εmasz=2124=0,119209106. 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:

510m=0,25107.

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 𝐀𝐱=𝐛. Jeśli do naszych obliczeń wybierzemy macierz o wysokim wskaźniku uwarunkowania, np.:

𝐀=[1223,999];𝐛=[47,999]; cond(𝐀)=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 𝐱=[21]. Jeśli zmodyfikujemy następująco wektor 𝐛=[48], to otrzymamy rozwiązanie 𝐱=[40].

W przypadku macierzy dobrze uwarunkowanej np.:

𝐀=[1223];𝐛=[47,999]; cond(𝐀)=25,

rozwiązanie wynosi 𝐱=[3,9980,001].

Jeśli zmodyfikujemy następująco wektor 𝐛=[48], to otrzymamy rozwiązanie 𝐱=[40], które jest zbliżone do poprzedniego.

Zobacz też

Linki zewnętrzne

Szablon:Kontrola autorytatywna