Uwarunkowanie zadania

Numeryczne uwarunkowanie zadania, to parametr pozwalający ocenić wpływ drobnych zmian parametrów wejściowych na wynik działania. Zainteresowani jesteśmy taką sytuacją, w której niewielkie zmiany (błędy) parametrów wejściowych będą powodowały niewielkie jedynie fluktuacje wyników obliczeń.

Okazuje się, że nawet w całkiem prostych przypadkach nie można liczyć na dobre uwarunkowanie problemu obliczeniowego. Co gorsza może ono zależeć od danych wejściowych.

Do oszacowania uwarunkowania obliczeniowego używa się metod bardzo podobnych do tych używanych przy określaniu stabilności układów. Po szczegóły odsyłam do [1].

Tu będą tylko przykłady.

Rozpatrzmy wielomian o postaci [1] :

w(x)=i=120(xi)=i=020aixi=x20210x19+20615x181256850x17+53327946x161672280820x15+40171771630x14756111184500x13+11310276995381x12135585182899530x11+1307535010540395x1010142299865511450x9+63030812099294896x8311333643161390640x7+1206647803780373360x63599979517947607200x5+8037811822645051776x412870931245150988800x3+13803759753640704000x28752948036761600000x+2432902008176640000

Pierwiastkami tego wielomianu są liczby 1,2,,20.

Zaburzmy jeden ze współczynników (patrz również [1]). Normalnie wartość współczynnika a19 wynosi 210. Zastąpimy go współczynnikiem o wartości (210+223). Można to symbolicznie zapisać tak: a19(ε)=a19(1ε), gdzie ε=(223210)1<230. Tak niewielka zmiana jednego tylko parametru powoduje, że wielomian ma zespolone miejsc zerowe.

Gdy niewielkie względne zmiany danych zadania powodują duże względne zmiany jego rozwiązania, to zadanie takie nazywamy źle uwarunkowanym .

Kolejnym problemem, który może być źle uwarunkowany jest zadanie liczenia iloczynu skalarnego dwu wektorów :

S=i=1naibi0.

Aby oszacować uwarunkowanie zadania zastąpimy dokładne wartości parametrów a=(a1,a2,,an) i b=(b1,b2,,bn) przez wartości przemnożone przez 1+αi i 1+βi odpowiednio. Założymy przy tym, że iloczyny αiβi są zaniedbywalnie małe. Aby oszacować zmienną zmianę wyniku liczymy iloraz

|i=1nai(1+αi)bi(1+βi)i=1naibii=1naibi||i=1naibi(αi+βi)i=1naibi|maxi|αi+βi|i=1n|aibi||i=1naibi|

Jeżeli określimy cond(a,b)=i=1n|aibi|/|i=1naibi| wskaźnikiem uwarunkowania (największy błąd przenosi się na wynik z takim mnożnikiem) to gdy wszystkie współczynniki mają taki sam znak — niewielki błąd ma bardzo niewielki wpływ na wynik. Gdy i=1naibi jest bliskie zeru — sytuacja jest znacznie gorsza.

Literatura

  1. J. Jankowscy, Przegląd metod i algorytmów numerycznych. Cz. 1. Wydawnictwa Naukowo-Techniczne, 1988.
Poprzedni
Następny