Strona 1 z 1

Cholesky Banachiewicz - wątpliwość

: 9 maja 2009, o 21:25
autor: elzabbul
Dostałem zadanie napisania programu implementującego metodę Choleskiego dla rozwiązania równania AX=B gdzie \(\displaystyle{ A \in \mathbb{R}^{nxn} \mbox{ i } B \in \mathbb{R}^{nxm}}\). I tutaj zagwozdka - Cholesky dla równań liniowych to pestka, ale z tekstu wnioskuję, że B ma być macierzą! Tak się da? Mam wymyśleć jakiś zwyczajny algorytm do policzenia L*Y=B i L'*X=Y gdzie X,B,Y to macierze?

Pytanie dodatkowe - jak w łatwy sposób po wyliczeniu L i L' wyciągnąć wyznacznik macierzy A?

Z góry dzięki za pomoc


Poprawiłem Ci zapis.
Rogal

Cholesky Banachiewicz - wątpliwość

: 9 maja 2009, o 23:42
autor: Mariusz M
Wyznacznik to iloczyn kwadratów elementów na głównej przekątnej



Tu masz trochę kodów źródłowych

Prawdopodobnie nie znajdziesz tam metody Cholesky'ego
ale możesz przynajmniej je obejrzeć

Cholesky Banachiewicz - wątpliwość

: 10 maja 2009, o 11:11
autor: elzabbul
Ok, wyznacznik policzony korzystając z L.

Tym niemniej ważniejszym dla mnie jest pytaniem czy w rozkładzie choleskiego da się w ogóle ( czy ma to sens!) aby w A*X=B X oraz B nie były wektorami, tylko macierzami.

Cholesky Banachiewicz - wątpliwość

: 10 maja 2009, o 12:45
autor: Mariusz M
elzabbul pisze:Ok, wyznacznik policzony korzystając z L.

Tym niemniej ważniejszym dla mnie jest pytaniem czy w rozkładzie choleskiego da się w ogóle ( czy ma to sens!) aby w A*X=B X oraz B nie były wektorami, tylko macierzami.
Powinno się dać

Jeżeli elementy macierzy rozkładanej są zespolone to wszystko jest w porządku

Jeżeli elementy macierzy rozkładanej są rzeczywiste to macierz ta powinna spełniać jeszcze jeden warunek
Mianowicie macierz rozkładana powinna być dodatnio określona

Metoda Cholesky'ego opisana jest w

"Numerical Recipes in C" rozdział 2.9

Ale tam macierz B jest wektorem