LABORATORIUM 4
Grupa NP, wtorek 09.04.2024, godz 08:30

Metody numeryczne - laboratorium 4

Napisz skrypt, który -- korzystając z iterowanej metody dekompozycji QR -- wyszukuje wszystkie wartości własne dla następującej macierzy 3x3

$\mathbf{A} = \left( \begin{array}{ccc} 6 & 5 & -5\\ 2 & 6 & -2\\ 2 & 5 & -1\end{array}\right)$

Otrzymane wyniki porównaj z wartościami zwracanymi przez funkcję wbudowaną numpy.linalg.eig(), zastosowaną do macierzy wejściowej \(\mathbf{A}\).

Wymagania odnośnie zadania (w nawiasach podana punktacja):

  1. Zadaniem skryptu jest znalezienie wszystkich wartości własnych macierzy \(\mathbf{A}\), korzystając z dekompozycji QR w iterowanej pętli. Metoda ta została przedstawiona na wykładzie 4 (slajdy 28-29 i 37). Przy rozwiązywaniu tej części zadania można skorzystać z funkcji wbudowanej numpy.linalg.qr(). [2.0p.]

  2. Skrypt ma też sprawdzić jak zmieniają się wszystkie wartości własne w zależności od liczby iteracji. Wynik powinien być przedstawiony na wykresie. [1.0p.]

  3. Na koniec skrypt ma wyznaczyć wszystkie wartości własne oraz wektory własne zadanej macierzy, używając do tego celu funkcji wbudowanej numpy.linalg.eig(). [0.5p.]

  4. Wyniki (tj. macierz wejściową, wartości własne, a także wartości własne i wektory własne otrzymane z funkcji numpy.linalg.eig()) mają zostać wyświetlone w sposób czytelny, tj. umożliwiający szybkie zorientowanie się, że zadanie zostało wykonane poprawnie bez potrzeby zaglądania w kod. [0.5p.]