Deflacja macierzy, czyli obniżanie jej stopnia

Przestrzenie wektorowe, bazy, liniowa niezależność, macierze.... Formy kwadratowe, twierdzenia o klasyfikacji...
rzdr
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 29 mar 2007, o 01:22
Płeć: Mężczyzna
Lokalizacja: Górny Śląsk

Deflacja macierzy, czyli obniżanie jej stopnia

Post autor: rzdr »

Witam wszystkich matematyków.

Mój problem dotyczy bezpośrednio przedmiotu metody numeryczne, który mam na uczelni (politechnika). Otóż za zadanie mam napisać program, który będzie metodą iteracyjną wyznaczał wartość własną (o największym module) macierzy o rozmiarze \(\displaystyle{ n}\) x \(\displaystyle{ n}\), a następnie zmniejszał rozmiar macierzy na \(\displaystyle{ (n-1)}\) x \(\displaystyle{ (n-1)}\) z zachowaniem wszystkich pozostałych wartości własnych (oczywiście oprócz największej która została już wyznaczona), po czym znowu szukał największej wartości własnej itd... I nie jest najgorzej, bo program wyznaczający wartość własną macierzy o największym module mam napisany, działa dobrze... Tyle ze nie wiem nic o tym zmniejszaniu rzędu macierzy.
Ma być to taki odpowiednik metody Bernulliego w odniesieniu do wielomianów. W przypadku wielomianu wygląda to tak:
Mamy wielomian stopnia n: \(\displaystyle{ W_n(x)}\)
Wtedy wielomian \(\displaystyle{ W_{n-1}(x)=W_n(x) : (x-x_{max})}\) No i tak wielomian zostaje obniżony o jeden stopień, znika \(\displaystyle{ x_{max}}\) z poprzedniej iteracji, dostajemy nowe, kolejne największe \(\displaystyle{ x_{max}}\)

I teraz właśnie interesuje mnie jak wygląda pokrewna metoda dla macierzy? Jednym słowem mam macierz \(\displaystyle{ n}\) x \(\displaystyle{ n}\), a jej wartości własne to \(\displaystyle{ \lambda_1,\lambda_2...\lambda_n}\). A chcę otrzymać macierz \(\displaystyle{ (n-1)}\) x \(\displaystyle{ (n-1)}\), gdzie jej wartości własne to będą \(\displaystyle{ \lambda_1,\lambda_2...\lambda_{n-1}}\). Potrzebuję dającej się zaprogramować metody numerycznej realizującej takie cudo. Szukałem w paru skryptach, niestety nic podobnego tam nie uświadczyłem.

Jeszcze dla informacji napiszę (nigdy nie wiadomo co może się okazać istotne ) taką rzecz. Podobno macierz, która będzie to realizować też musi być jakaś specyficzna (nie wiem czy ze względu na to, żeby metoda w ogóle się wykonała, czy żeby było czarno na białym widać jakie macierz ma wartości własne). Otóż macierz moja ma to być macierz \(\displaystyle{ B = A * \[\begin{matrix}\lambda_1 & 0 & 0 & 0\\ 0 & \lambda_2 & 0 & 0\\ 0 & 0 & ... & 0\\ 0 & 0 & 0 & \lambda_n\end{matrix}\] * A^{-1}}\)
gdzie macierz A to dowolna macierz taka, że \(\displaystyle{ detA}\)\(\displaystyle{ 0}\) (macierz nieosobliwa). Nie muszę chyba dodawać, ze ta macierz w środku to tzw. diagonalna, wypełniona po przekątnej kolejnymi wartościami własnymi, a na reszcie miejsc zera.

Podobno operacja o którą pytam nazywa się deflacją macierzy. Niestety nic więcej na ten temat nie wiem, a jest mi to bardzo potrzebne, i w dodatku, jak to się mówi, "na wczoraj".

Z góry dziękuję więc za pomoc i pozdrawiam.
ODPOWIEDZ