A. Rozwiązanie układu równań liniowych algebraicznych
Transkrypt
A. Rozwiązanie układu równań liniowych algebraicznych
Dodatek A ROZWIĄZANIE UKŁADU RÓWNAŃ LINIOWYCH ALGEBRAICZNYCH 1 A. ROZWIĄZANIE UKŁADU RÓWNAŃ LINIOWYCH ALGEBRAICZNYCH W literaturze cytuje się wiele metod numerycznego rozwiązywania układów równań liniowych o postaci A⋅ X = B (A.1) Niektóre z nich są szczególnie nakierowane na szybkość operacji, najmniejszą zajętość pamięci, wykorzystują też dodatkowe cechy macierzy współczynników A, takie jak symetria czy pasmowość. Spośród tych wielu dostępnych w literaturze procedur omówimy jedną, tzw. metodę rozkładu trójkątnego macierzy Choleskiego - Banachiewicza. Metoda ta jest z powodzeniem stosowana dla macierzy A symetrycznych i dodatnio określonych, a z takimi właśnie macierzami mamy do czynienia w zadaniach metody elementów skończonych dotyczących liniowej analizy statycznej konstrukcji sprężystych. Macierz A można rozłożyć na dwie macierze w ten sposób, by A = U T ⋅U , (A.2) gdzie U jest górną macierzą trójkątną. Macierz A można także rozłożyć do postaci T (A.3) A = U ⋅ D ⋅U zwanej postacią zmodyfikowaną metody Choleskiego. U jest górną macierzą trójkątną z jedynkami na głównej przekątnej. Symbol D reprezentuje macierz diagonalną, zawierającą kwadraty składowych diagonalych macierzy U. Równania rekurencyjne Uij., i Dij.., generowane kolumnami dla j=2,3,...,n, dają U ij = i −1 1 ⋅ Aij − ∑ Dkk U ki U kj , Dii k =1 j −1 D jj = A jj − ∑ Dkk U kj (1<i<j) 2 (A.4) (1<i=j) k =1 Obydwa te równania zawierają wyrażenie Dkk , .Ukj . pod znakiem sumy.Jeżeli podstawimy : U kj * = Dkk U kj , (A.5) wówczas i −1 U ij * = Aij − ∑ Dkk U ki U kj * (1<i<j) (A.6) k =1 j −1 D jj = A jj − ∑U kj ⋅ U kj * (1<i=j) k =1 (A.7) gdzie j=2,3,...,n, oraz U kj = 1 U kj *, Dkk Zatem dla kolumny j osiąga się chwilowy wynik na Uij. dla każdej składowej spoza głównej diagonali według (A.6). Dalej na podstawie (A.6) oblicza się wyraz diagonalny Djj., i równocześnie końcową wartość każdego składnika poza główną przekątną. Załóżmy, że chcemy rozwiązać układ równań liniowych typu Tomasz Łodygowski, Witold Kąkol – Metoda elementów skończonych w wybranych zagadnieniach mechaniki konstrukcji inżynierskich Alma Mater Dodatek A ROZWIĄZANIE UKŁADU RÓWNAŃ LINIOWYCH ALGEBRAICZNYCH 2 A⋅ X = B (A.8) w którym X jest kolumną n niewiadomych, zaś B jest wektorem stałych. Podstawmy (A.3) do (A.8): T U D ⋅U ⋅ X = B, (A.9) U ⋅X =Y (A.10) D ⋅Y = Z (A.11) a podstawiając oraz otrzymujemy układ T U ⋅Z = B. (A.12) Teraz wektor niewiadomych X otrzymujemy w trzech krokach : 1. Ponieważ U jest dolną macierzą trójkątną, elementy wektora Z otrzymamy w procesie podstawienia w przód : i −1 Z i = Bi − ∑U ki Z k (1<i) . (A.13) k =1 2. Macierz D jest diagonalna, więc Yi = Zi , Dii (1=1,2,…,n) . (A.14) 3. W trzecim kroku znajdujemy wektor X, stosując podstawienie odwrotne (rozpoczynając od ostatniej niewiadomej): X i = Yi − n ∑U k =i + 1 ik X k (i<n) (A.15) Przykład Posługując się metodą zmodyfikowaną Choleskiego, spróbujemy rozwiązać następujący układ równań liniowych typu A·X= B 0 x1 15 200 − 200 − 200 700 − 200 ⋅ x = 30 2 0 − 200 700 x3 30 Dokonujemy rozkładu macierzy współczynników A na trzy macierze (A.3), korzystając z zależności (A.4). Tomasz Łodygowski, Witold Kąkol – Metoda elementów skończonych w wybranych zagadnieniach mechaniki konstrukcji inżynierskich Alma Mater Dodatek A ROZWIĄZANIE UKŁADU RÓWNAŃ LINIOWYCH ALGEBRAICZNYCH 3 Kolejno otrzymujemy : D11 = A11 = 200.00 U 11 = 1.00 1 1 U 12 = ( A12 ) = 0 = 0.00 D11 200 U 13 = 1 1 ( A13 ) = 0 = 0.00 D11 200 U 22 = 1.00 2 D22 = A22 − D11U 11 = 400 − 200 = 200.00 U 23 = 1 1 ( A23 − D11U 12 U 13 ) = ( −200 − 200( −1 )( 0 ) = −1.00 D23 200 2 2 D33 = A33 − D11U 13 − D22 U 23 = 400 − 200 ⋅ 0 2 − 200 ⋅ ( −1 )2 = 200.00 Macierz A można więc przedstawić w postaci : 0 0 200 0 0 1 − 1 0 1 A = U ⋅ D ⋅ U = − 1 1 0 ⋅ 0 200 0 ⋅ 0 1 − 1 0 − 1 1 0 0 200 0 0 1 T Teraz już łatwo rozwiążemy układ równań, stosując (A. 13), (A. 14) i (A. 15): Z 1 = B1 = 15 , Z 2 = B2 − U 12 Z 1 = 30 − ( −1.0 ) ⋅ 15 = 45 , Z 3 = B3 − U 13 Z 1 − U 23 Z 2 = 30 − ( 0 ) ⋅ 15 − ( −1 ) ⋅ 45 = 75 , i w końcu Y1 = Z1 15 = = 0.075 , D11 200 Y2 = Z2 45 = = 0.225 , D22 200 Y3 = Z3 75 = = 0.375 , D33 200 X 3 = Y3 = 0.375 , X 2 = Y2 − U 23 X 3 = 0.225 − ( −1 ) ⋅ 0.375 = 0.600 , X 1 = Y1 − U 12 X 2 − U 13 X 3 = 0.075 − ( −1 ) ⋅ 600 − ( 0 ) ⋅ 0.375 = 0.675. Tomasz Łodygowski, Witold Kąkol – Metoda elementów skończonych w wybranych zagadnieniach mechaniki konstrukcji inżynierskich Alma Mater