Wpisany przez Tomasz Lubiński
poniedziałek, 08 sierpnia 2005 21:44
Metoda Choleskiego pozwala rozwiązać układ n równań liniowych z n niewiadomymi:

w którym macierz współczynników jest symetryczna i dodatnio określona, tzn:
a) A=AH, a dla rzeczywistych A=AT
b) dla każdego x należącego do Cn zachodzi: xHAx>0, a dla rzeczywistych xTAx>0
Metoda wyznaczania rozwiązania układu równań liniowych, zwana metodą Choleskiego, polega na znalezieniu dla jego macierzy współczynników A macierzy trójkątnej dolnej:

dla k=1,2...n oraz i=k+1,k+2...,n, czyli budujemy dla nich zgnieżdżoną iterację, w której szybciej zmieniającym się wyrazem jest pierwszy. Czyli dla n=3, otrzymamy: l[1,1], l[2,1], l[3,1], l[2,2], l[3,2], l[3,3]. Następnie obliczamy rozwiązanie na podstawie wzorów:

Ponieważ, w powyższych wzorach występują operacje pierwiastkowania, jak i dzielenia, należy program zbezpieczyć przed niepożądanymi danymi. Jeżeli okaże się, że podczas obliczania nastąpi próba nieprawidłowej operacji (dzielenie przez zero, pierwiastkowanie liczb ujemnych), oznacza to, że dana macierz nie jest dodatnio określona. Należy też pamiętać o sprawdzeniu symetryczności macierzy współczynników A przed przystąpieniem do obliczeń.

w którym macierz współczynników jest symetryczna i dodatnio określona, tzn:
a) A=AH, a dla rzeczywistych A=AT
b) dla każdego x należącego do Cn zachodzi: xHAx>0, a dla rzeczywistych xTAx>0
Metoda wyznaczania rozwiązania układu równań liniowych, zwana metodą Choleskiego, polega na znalezieniu dla jego macierzy współczynników A macierzy trójkątnej dolnej:
takiej, że A =LLT.

dla k=1,2...n oraz i=k+1,k+2...,n, czyli budujemy dla nich zgnieżdżoną iterację, w której szybciej zmieniającym się wyrazem jest pierwszy. Czyli dla n=3, otrzymamy: l[1,1], l[2,1], l[3,1], l[2,2], l[3,2], l[3,3]. Następnie obliczamy rozwiązanie na podstawie wzorów:

Ponieważ, w powyższych wzorach występują operacje pierwiastkowania, jak i dzielenia, należy program zbezpieczyć przed niepożądanymi danymi. Jeżeli okaże się, że podczas obliczania nastąpi próba nieprawidłowej operacji (dzielenie przez zero, pierwiastkowanie liczb ujemnych), oznacza to, że dana macierz nie jest dodatnio określona. Należy też pamiętać o sprawdzeniu symetryczności macierzy współczynników A przed przystąpieniem do obliczeń.
| Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
| Tomasz Lubiński | Delphi/Pascal | Borland Delphi 5 | ![]() | ![]() |
![]() ![]() ![]() ![]() / 1 |
Poprawiony: poniedziałek, 20 czerwca 2011 22:06



/ 1
Komentarze