5
1.0.3. Błędy zaokrągleń i ich akumulacja
Obecność błędów numerycznych w metodzie Gaussa Jordana wynika ze skończonej dokładności współczynników stanowiących liczby rzeczywiste. Dotyczy to przypadków, w których jedno z wyznaczonych równań jest niemal liniową kombinacją któregoś z pozostałych [?]. Przyjmując, że w wyniku błędów obcięć uzyskujemy wektor rozwiązania obliczonego x, niezerowy wektor reszt r wyznaczony z równania
r = A(x-x) (1.13)
pozwala określić dokładność rozwiązania równaniem:
x —x = rA_1 (1.14)
Dobrze ilustruje to poniższy przykład układu równań:
Układ ten ma rozwiązanie dokładne w postaci X\ = 1,5 i Xi = 1,0. Nietrudno stwierdzić, że dla liczb xi = l,0iX2 = l,2 wektor reszt ma składowe r\ = 0,0000 i r2 = 0,0004. Przy dokładności czterech cyfr znaczących druga składowa wektora reszt r2 = 0,000 co wskazywałoby na nieprawdziwą w rzeczywistości poprawność rozwiązania obliczonego x.
Ryzyko wystąpienia podobnego do powyższego, źle uwarunkowanego układu równań rośnie wraz z liczbą równań. Najczęściej przyjmuje się, że dokładność 32-bitowa jest wystarczająca do rozwiązywania układów 20-50 równań. Stosowanie liczb podwójnej precyzji (reprezentacja 64-bitowa) umożliwia analizę układów kilkuset równań. W przypadku liczby równań osiągającej skalę tysięcy i więcej stosowane są inne metody wyznaczania rozwiązania. Układy takie charakteryzują się często rzadką macierzą współczynników, co pozwala wykorzystać metody pasmowe, frontalne i iteracyjne w obliczeniach rozwiązań tych układów.
1.0.4. Algorytm Cholesky'ego-Banachiewicza
Metoda polega na dekompozycji macierzy współczynników A na macierz trójkątną dolną (L) lub górną (U) opisaną równaniem:
A = LLt = UUT (1.16)
Algorytm obliczeniowy prowadzony jest w oparciu o zależność:
min(i,j) min(i,j)
Aij = £ L,kLTkj= £ LjicLjt (1.17)
k=1 k=1
Z zależności tej wynika, że pierwszy element macierzy L wyznaczany jest ze wzoru:
Ł11 = yjMi (1.18)
Inne elementy tej kolumny wyznaczane są z równania:
(1.19)