LABORATORIUM 3 Grupa NP, wtorek 19.03.2024, godz 12:15
Napisz skrypt, który, korzystając z metody Gaussa, dokona redukcji poniższego układu:
do postaci z macierzą trójkątną górną.
Wymagania odnośnie zadania (w nawiasach podana punktacja):
Skrypt ma przekształcić układ do postaci, w której możliwe będzie rozwiązanie równań rekurencyjnie, tzn. lewa strona równań, tworząca macierz współczynników, będzie macierzą trójkątną górną. Do redukcji układu należy użyć metody eliminacji Gaussa opisanej na Wykładzie nr 3 na slajdach od 17 do 24. [1p]
Algorytm powinien być napisany na tyle elastycznie, by działał poprawnie także dla macierzy o innych wymiarach niż ta z treści zadania (pomocna będzie metoda shape). Elastyczność oznacza także, że program musi zostać zapisany w postaci zestawu pętli automatyzujących proces redukcji, przy czym preferowane są dwie zagnieżdżone pętle, a zamiast trzeciej program powinien korzystać z z możliwości odwołania sie do całego wiersza jednocześnie. Wynikiem działania skryptu ma być wyświetlenie na ekranie (w czytelny sposób) macierzy współczynników macierzy trójkątnej górnej i nowego wektora wyrazów wolnych po zakończeniu eliminacji. [2p.]
Po rozwiązaniu powyższego zadania należy rozwiązac układ z macierzą trójkątną górną za pomocą algorytmu przedstawionego na stronie 14 oraz poniżej. [1p.]
Należy sprawdzić poprawność rozwiązania układu równan, gdzie $\mathbf{A}$ to macierz współczynników a $\mathbf{b}$ to kolumnowy wektor wyrazów wolnych, korzystając z funkcji np.linalg.solve(A, b).[1p.]
ALGORYTM SPROWADZANIA DO MACIERZY TRÓJKĄTNEJ GÓRNEJ
Dany jest układ równań \(\mathbf{A}^{(1)}\mathbf{x} = \mathbf{b}^{(1)}\), tzn:
Po odjęciu od \(i\)-tego wiersza (\(i = 2, 3, \ldots,n\)) wiersza pierwszego, pomonożonego przez
otrzymujemy układ równań \(\mathbf{A}^{(2)}\mathbf{x} = \mathbf{b}^{(2)}\):
Podobnie w następnym kroku odejmujemy od \(i\)-tego wiersza (\(i = 3, 4, \ldots,n\)) wiersz drugi, pomonożony przez
W efekcie otrzymujemy kolejne układy równań \(\mathbf{A}^{(3)}\mathbf{x} = \mathbf{b}^{(4)}\), \(\mathbf{A}^{(4)}\mathbf{x} = \mathbf{b}^{(4)}\) etc i po \(n-1\) eliminacjach uzyskujemy trójkatny układ równań \(\mathbf{A}^{(n)}\mathbf{x} = \mathbf{b}^{(n)}\) postaci
ALGORYTM ROZWIĄZANIA RÓWNANIA Z MACIERZĄ TRÓJKĄTNĄ GÓRNĄ