Metoda LU
Z Wikipedii
Metoda LU jest metodą rozwiązywania układu równań liniowych postaci:
w zapisie macierzowym , gdzie
- macierz współczynników,
- wektor niewiadomych,
- wektor danych.
Pozwala także na szybkie wyliczenie wyznacznika macierzy .
W metodzie LU macierz współczynników zapisywana jest jako iloczyn dwóch macierzy trójkątnych: dolnej () i górnej (
), tj. z elementami zerowymi - odpowiednio - poniżej i powyżej przekątnej macierzy.
Układ równań przyjmuje wówczas postać
a jego rozwiązanie sprowadza się do rozwiązania dwóch układów równań z macierzami trójkątnymi, które z kolei rozwiązuje się bardzo prosto.
Ostatecznie ilość mnożeń potrzebnych do wyznaczenia wektora x wynosi n2, dodawań n2 − n.
Wyliczanie wyznacznika macierzy A. Korzystając z twierdzenia Cauchy'ego:
Oraz, z faktu, ze wyznacznik macierzy trójkątnej jest iloczynem elementów na przekątnej, otrzymujemy:
Zalety metody:
- bardzo oszczędna gospodarka pamięcią - całość obliczeń jest wykonywana w tych samych tablicach i wektorach, w których zostały sformułowane wyjściowe równania;
- wymaga najmniejszej liczby operacji w porównaniu z innymi metodami dokładnymi (nie biorąc pod uwagę procedur specjalnych).
[edytuj] Rozkład LU
Podstawowym problemem numerycznym w tej metodzie jest dokonanie rozkładu LU macierzy współczynników. Żeby rozkład był jednoznaczny zakłada się, że elementy na głównej przekątnej jednej z macierzy, albo
, są równe 1.
Rozkład LU jest wyznaczany za pomocą:
- Metody eliminacji Gaussa
- Metody Doolittle'a (opisana niżej)
Obie metody nie są niezawodne, tzn. podczas obliczeń może wystąpić dzielenie przez zero. Istnieją ich modyfikacje pozbawione tej wady, nazywane odpowiednio metodą Gaussa-Crouta i Doolittle-Crouta, w których wykorzystuje się częściowy wybór elementu podstawowego.
Element podstawowy to taki element w macierzy A, który jest używany do rugowania zmiennych (czyli zerowania odpowiadających im współczynników) z kolejnych równań. Metody Gaussa i Doolittle'a wybierają element podstawowy zawsze z przekątnej głównej i jeśli akk jest równe zero obie zawodzą.
W metodach zmodyfikowanych wybierany jest ten element z danej k − tej kolumny, który ma największy moduł. Następnie wiersz, w którym znajduje się wybrany element zamieniany jest z k-tym wierszem, co powoduje że element podstawowy pojawia się na przekątnej głównej. To gwarantuje, że podczas obliczeń nie wystąpi dzielenie przez zero.
Jednocześnie te zmodyfikowane metody nie zawsze dają rozkład LU macierzy . Może się zdarzyć, że otrzymany rozkład LU dotyczy macierzy
, w której dokonano takich samych przestawień wierszy jak podczas eliminacji zmiennych. Jednak ma to znaczenie (i komplikuje obliczenia) tylko wtedy, gdy rozkład LU służy do wyznaczenia macierzy odwrotnej, tutaj nie odgrywa roli.
[edytuj] Metoda Doolittle'a
W metodzie tej równość A = LU traktuje się jako układ n2 równań z n2 niewiadomymi. Te niewiadome to elementy lij dla i < j (elementy poniżej przekątnej), oraz uij dla (elementy na i powyżej przekątnej), przy założeniu, że na diagonali macierzy L znajdują się 1.
Wyznaczanie kolejnych elementów macierzy L i U robi się naprzemiennie, tj. raz wyznacza wiersz macierzy U, raz kolumnę macierzy L.
Wzory ogólne na poszczególne elementy macierzy rozkładu przedstawiają się następująco.
dla wszystkich :
dla
dla
Z ostatniego równania wynika, że metoda nie zadziała, gdy uii = 0.
Liczba działań potrzebna do rozkładu:
- mnożenia:
,
- dodawania:
.
[edytuj] Przykład (macierz 3x3)
Pierwszy wiersz macierzy U:
Pierwsza kolumna macierzy L:
Drugi wiersz macierzy U:
Druga kolumna macierzy L:
Trzeci wiersz macierzy U: