[MATLAB] Odwrotna metoda potęgowa

Przestrzenie wektorowe, bazy, liniowa niezależność, macierze.... Formy kwadratowe, twierdzenia o klasyfikacji...
Awatar użytkownika
s1d
Użytkownik
Użytkownik
Posty: 38
Rejestracja: 18 paź 2007, o 19:51
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 2 razy
Pomógł: 16 razy

[MATLAB] Odwrotna metoda potęgowa

Post autor: s1d »

Cześć,

Mam mały problem. Rozważmy macierz A:

Kod: Zaznacz cały

8 2 1 9
2 4 4 3
1 4 5 2
9 3 2 4
Wyznaczam wartości własne MATLABowym eig:

Kod: Zaznacz cały

>> eig(A)
ans =
  -3.414189597564770
   0.370249404389785
   7.014441027079165
  17.029499166095810
Wszystko ok, korzystam z własnej funkcji potęgowej pot(A):

Kod: Zaznacz cały

ans =
  17.029498995415459
Wynik w porządku. Jednak jeśli spróbuję wyznaczyć najmniejszą wartość własną:

Kod: Zaznacz cały

>> 1/pot(inv(A))
ans =
   0.370249404600439
Nie otrzymuję -3.41 tylko 0.37. I tutaj pytanie - czy błąd wynika z tego, że odwrotność macierzy jest policzona z dużym błędem? Innej możliwości nie widzę, ale chciałem się upewnić. Bo możliwe, że liczę to w zły sposób z racji braków w teorii.

[EDIT]
Teraz zauważyłem, że zwraca nieujemne tylko wartości - muszę sprawdzić czy to przez błąd w kodzie czy po prostu ta metoda tak ma.

Pozdrawiam
sadkowsr
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 28 kwie 2014, o 20:10
Płeć: Mężczyzna
Lokalizacja: Polska

[MATLAB] Odwrotna metoda potęgowa

Post autor: sadkowsr »

Wynika to z algorytmu, który działa poprawnie tylko dla macierzy dodatnio określonej. Macierz ta nie jest dodatnio określona. W metodzie potęgowej zawsze dostajemy wartosci bezwględne, jednak w macierzy dodatnio okreslonej (i symetrycznej) wartości własne macierzy są zawsze dodatnie. *oczywiście jeżeli macierz nie jest osobliwa
ODPOWIEDZ