1
Rozwiązywanie algebraicznych układów równań liniowych
metodami bezpośrednimi
Plan wykładu:
1. Definicje macierzy, norm etc.
2. Metoda eliminacji Gaussa, Jordana 3. Rozkład LU metodą Gaussa
4. Układy równań z macierzą symetryczną. Rozkłady: LDLT, LLT 5. Układy równań z macierzą trójdiagonalną
6. Iteracyjne poprawianie rozwiązań
7. Układy liniowe nadokreślone, układ normalny równań, metody ortogonalizacji
3 Pojęcia podstawowe
Macierz jest uporządkowanym układem mxn liczb rzeczywistych lub zespolonych A=(aij) (i=1,..,m; j=1,...,n)
Jeśli m=n to A jest kwadratowa stopnia n.
Macierz diagonalna D=(ij dij)
Macierz jednostkowa I=(ij)
A
m£n= 2 6 6 4
a
11a
12: : : a
1na
21a
22: : : a
2n: : : : : : : : : : : : a
m1a
m2: : : a
mn3 7 7 5
D = 2 6 6 4
d
10 : : : 0 0 d
2: : : 0 : : : : : : : : : : : :
0 0 : : : d
n3 7 7 5
(A
T)
T= A (®A)
T= ®A
T(A + B)
T= A
T+ B
T(AB)
T= B
TA
T(Ax)
T= x
TA
TTranspozycja - A=(aij) to AT=(aji)
Ślad macierzy A=Anxn
tr(A) = X
ni=1
a
iitr(A
T) = tr(A)
Jeśli
to macierz jest nieosobliwa i dla takiej macierzy istnieje macierz odwrotna A-1
Macierz symetryczna
Macierz ortogonalna Q=Qmxn
Macierz idempotentna
det(A) 6= 0
AA
¡1= A
¡1A = I (AB)
¡1= B
¡1A
¡1A
T= A
Q
TQ = I
Macierz trójkątna lewa (dolna)
Macierz trójkątna prawa (górna)
Sumy, iloczyny i odwrotności macierzy trójkątnych tego samego rodzaju są macierzami trójkątnymi.
Wyznacznik macierzy trójkątnej
L = 2 6 6 4
l
110 : : : 0 l
21l
22: : : 0 : : : : : : : : : : : : l
n1l
n2: : : l
nn3 7 7 5
R = 2 6 6 4
r
11r
12: : : r
1n0 r
22: : : r
2n: : : : : : : : : : : : 0 0 : : : r
nn3 7 7 5
det(L) = l
11l
22: : : l
nnQ
¡1Q = I
Q
T= Q
¡15 Macierzą hermitowską nazywamy macierz, która
po transpozycji i sprzężeniu zespolonemu jej elementów jest równa macierzy pierwotnej
Elementy diagonalne macierzy hermitowskiej są rzeczywiste (pozostałe mogą być zespolone lub rzeczywiste).
Macierzą dodatniookreśloną nazywamy macierz rzeczywistą lub hermitowską o własności:
Macierz dodatnio określona jest zawsze odwracalna.
Macierz odwrotna jest również dodatnio określona.
Przestrzenią liniową (wektorową) nad ciałem liczb rzeczywistych (zespolonych) nazywamy zbiór obiektów (wektorów) z określonym działaniem
dodawania elementów przestrzeni oraz mnożenia ich przez liczbę i oznaczamy RN (CN).
Aksjomaty: łączność, przemienność, element neutralny, element odwrotny,....
A
H= ¡
A
T¢
¤Uporządkowany zbiór liczb rzeczywistych (zespolonych) tworzy wektor
Przestrzeń wektorowa będąca zbiorem takich obiektów ma wymiar n.
Dowolny zbiór n wektorów liniowo niezależnych w RN
tworzy bazę przestrzeni. Każdy element przestrzeni można zapisać jako kombinację liniową elementów bazy
Podprzestrzeń linową R w RN tworzy zbiór wszystkich wektorów
Macierz możemy traktować jako obiekt
zbudowany z wektorów ( wektory wierszowe lub kolumnowe).
Rzędem macierzy A=Amxn
nazywamy największą liczbę niezależnych liniowo wektorów wierszowych lub kolumnowych. Jeśli r=m=n to macierz jest nieosobliwa.
Normy wektorów i macierzy
Normy wprowadza się w celu ilościowego określania własności wektorów i macierzy.
Normą wektora nazywamy funkcję, która
każdemu elementowi w RN przyporządkowuje liczbę rzeczywistą. Dla dowolnych
norma wektora musi spełniać następujące aksjomaty:
Dla n-wymiarowego wektora
najczęściej stosowane są normy z rodziny LP:
- norma pierwsza
Dla dowolnego wektora x w przestrzeni Rn
prawdziwe są poniższe relacje pomiędzy normami:
Normy macierzy
Własności norm macierzy
Normy zgodne – norma macierzy indukowana przez normę wektora
® 2 R
kxk
1· kxk
2· kxk
1· p
n kxk
2· nkxk
17 Macierz o m wierszach i n kolumnach można
traktować jako operator liniowy przekształcający przestrzeń Rm w Rn. Normę takiej macierzy można określić przy użyciu wektorów:
gdzie: p i q oznaczają normy wektorów w
przestrzeniach Rn i w Rm. Mówimy, że norma ||A||pq jest normą indukowaną przez normy ||.||p oraz ||.||q. Dla p=q oznaczając
możemy określić następujące normy macierzy - maksymalna suma modułów w kolumnie
- norma spektralna
kAk
p= kAk
pqkAk
1= max
j=1;2;:::;n
X
m i=1ja
ijj
kAk
2= ( max
i=1;:::;n
¸
i(AA
T))
1=2kAk
1= max
i=1;2;:::;n
X
n j=1ja
ijj
kAk
11= max
i;j
ja
ijj
- maksymalna suma modułów w wierszu
- maksymalny moduł elementu
W przestrzeniach z normą ||⋅||2 często używa się euklidesowej (Frobeniusa) normy macierzy:
która nie jest indukowana żadną normą ale spełnia ona z normą ||⋅||2 warunek zgodności:
Normy macierzy mają istotne znaczenie w analizie błędów (np. błędów rozwiązania układów równań liniowych).
kAk
E= v u u t
X
m i=1X
n j=1a
2ijSzukamy rozwiązania układu równań liniowych w postaci:
Powyższy układ równań można zapisać w postaci macierzowej:
gdzie:
- macierz współczynników układu
- szukany wektor - wektor wyrazów rozwiązań wolnych
a
11x
1+ a
12x
2+ : : : + a
1nx
n= b
1a
21x
1+ a
22x
2+ : : : + a
2nx
n= b
2: : : : : : : : : : : : : : : : : : : : : : : : : : : = : : : a
n1x
1+ a
n2x
2+ : : : + a
nnx
n= b
nA = 2 6 6 4
a
11a
12: : : a
1na
21a
22: : : a
2n: : : : : : : : : : : : a
n1a
n2: : : a
nn3 7 7 5
Warunek rozwiązywalności układu niejednorodnego:
R(A) – podprzestrzeń liniowa rozpięta na wektorach kolumnowych macierzy A
Dla
warunek rozwiązywalności układu jest spełniony dla każdego b i rozwiązanie ma postać
Jeśli rank(A)=r<n to rozwiązania tworzą rozmaitość (n-r) wymiarową.
R(A) = R
n9 Układ równań z macierzą trójkątną
Zakładamy, że elementy leżące na diagonali są niezerowe.
Rozwiązanie układu można znaleźć posługując się wzorem rekurencyjnym, zaczynając od elementu xn:
W celu wyznaczenia wszystkich składowych wektora rozwiązania x należy wykonać:
- M operacji mnożenia i dzielenia
- D operacji dodawania i odejmowania
a
11x
1+ a
12x
2+ : : : + a
1nx
n= b
1a
22x
2+ : : : + a
2nx
n= b
2: : : : : : : : : : : : : : : : : :
a
nnx
n= b
nM = 1
2 n
2+ 1 2 n
D = 1
2 n
2¡ 1 2 n x
n= b
na
nnx
i= b
i¡ a
ii+1x
i+1¡ : : : ¡ a
inx
na
iiUwarunkowanie zadania - rozwiązania układu równań
Wpływ błędów zaokrągleń na wynik można oszacować analizując zaburzenia danych: A,b a) zaburzamy wektor b:
b) zaburzamy elementy macierzy A:
ostatnią nierówność zapisujemy w postaci
·(A) = jjAjj ¢ jjA
¡1jj
gdzie
jest wskaźnikiem uwarunkowania macierzy Korzystając z wyniku (a) oraz nierówności
dostajemy oszacowanie na błąd względny rozwiązania:
Wniosek - duży wskaźnik uwarunkowania macierzy może powodować duże względne zaburzenia
rozwiązania nawet dla małych zaburzeń wektora danych. Zadanie jest wówczas źle uwarunkowane.
11 Metoda eliminacji Gaussa rozwiązania układu
równań liniowych. Metoda jest dwuetapowa:
1) Eliminacja zmiennych. Układ pierwotny:
Odejmujemy od i-tego wiersza (i=2,3,...,n) wiersz pierwszy pomnożony przez współczynnik
Z równań i=2,3,..,n wyeliminowana została zmienna x1.
a
(1)11x
1+ a
(1)12x
2+ : : : + a
(1)1nx
n= b
(1)1a
(1)21x
1+ a
(1)22x
2+ : : : + a
(1)2nx
n= b
(1)2: : : : : : : : : : : : : : : : : : : : : : : : : : : = : : : a
(1)n1x
1+ a
(1)n2x
2+ : : : + a
(1)nnx
n= b
(1)nl
i1= a
(1)i1a
(1)11a
(2)11x
1+ a
(2)12x
2+ : : : + a
(2)1nx
n= b
(2)1a
(2)22x
2+ : : : + a
(2)2nx
n= b
(2)2: : : : : : : : : : : : : : : : : : : : : = : : :
a
(2)n2x
2+ : : : + a
(2)nnx
n= b
(2)nPowtarzamy operację, ale odejmujemy od i-tego wiersza (i=3,4,...,n) wiersz drugi pomnożony przez współczynnik
Postępując dalej w ten sposób eliminujemy z każdego następnego równania jedną zmienną.
Eliminację kończymy po (n-1) krokach, gdy uzyskamy trójkątny układ równań w postaci:
l
i2= a
(2)i2a
(2)22a
(n)11x
1+ a
(n)12x
2+ : : : + a
(n)1nx
n= b
(n)1a
(n)22x
2+ : : : + a
(n)2nx
n= b
(n)2: : : : : : : : : : : : = : : :
a
(n)nnx
n= b
(n)n2) Etap drugi nazywany jest postępowaniem odwrotnym.
Rozwiązanie (kolejne składowe wektora x) znajdujemy stosując wzór rekurencyjny dla macierzy trójkątnej. Wyznaczenie rozwiązania metodą Gaussa wymaga wykonania:
- M op. mnożenia i dzielenia
- D op. dodawania i odejmowania
Metoda eliminacji w tej postaci jest niestabilna numerycznie – problem dzielenia przez 0 lub liczbę bliską zeru. Rozwiązanie:
a) częściowy wybór elementów głównych b) pełny wybór elementów głównych
Częściowy wybór elementów głównych W k-tym kroku szukamy elementu
M = 1
3 n
3+ n
2¡ 1 3 n
D = 1
3 n
3+ 1
2 n
2¡ 5 6 n
Pełny wybór elementów głównych W k-tym kroku szukamy elementu
i przestawiamy wiersze: k i r oraz kolumny: k i s
ja
(k)rsj = max
k·i;j·n;
ja
kijj
r k
k s
13 Stosując wybór elementu głównego
rozwiązanie otrzymujemy zawsze.
W trakcie wyboru elementu głównego należy zmienić także kolejność w x i b.
Modyfikacji tej można nie stosować dla:
a) macierzy z dominującą przekątną
b) macierzy symetrycznej i jednocześnie dodatniookreślonej
Metoda eliminacji Jordana (eliminacji zupełnej)
W układzie równań:
równanie pierwsze dzielimy obustronnie przez współczynnik:
ja
iij ¸
X
n j=1;j6=ija
i;jj (i = 1; : : : ; n)
a
(1)11x
1+ a
(1)12x
2+ : : : + a
(1)1nx
n= b
(1)1a
(1)21x
1+ a
(1)22x
2+ : : : + a
(1)2nx
n= b
(1)2: : : : : : : : : : : : : : : : : : : : : : : : : : : = : : : a
(1)n1x
1+ a
(1)n2x
2+ : : : + a
(1)nnx
n= b
(1)nw
1= a
(1)11Następnie odejmujemy od i-tego wiersza (i=2,3,...,n) wiersz pierwszy przemnożony przez
i otrzymujemy
Podobnie postępujemy z równaniem drugim. Dzielimy je przez
Następnie od i-tego wiersza (i=1,3,4,...,n) odejmujemy wiersz drugi pomnożony przez współczynnik:
w
1i= a
(1)i1x
1+ a
(2)12x
2+ : : : + a
(2)1nx
n= b
(2)1a
(2)22x
2+ : : : + a
(2)2nx
n= b
(2)2: : : : : : : : : : : : : : : : : : : : : = : : :
a
(2)n2x
2+ : : : + a
(2)nnx
n= b
(2)nw
2= a
(2)22w
2i= a
(2)i2Otrzymujemy zmodyfikowany układ równań:
Po przeprowadzeniu (n-1) eliminacji zmiennych układ równań ma poniższą postać:
czyli gotowe rozwiązanie. Liczba operacji:
x
1+ 0 ¢ x
2+ a
(3)13x
3+ : : : + a
(3)1nx
n= b
(3)1x
2+ a
(3)23x
3+ : : : + a
(3)2nx
n= b
(3)2: : : : : : : : : : : : : : : : : : : : : = : : :
a
(3)n3x
3+ : : : + a
(3)nnx
n= b
(3)nx
1= b
(n)1x
2= b
(n)2: : : = : : :
x
n= b
(n)nRozkład LU metodą Gaussa-Crouta(GCW) Metodę Gaussa można użyć do znalezienia takich macierzy L i U, które z macierzą A związane są relacją:
Procedura wyznaczania elementów tych macierzy nosi nazwę rozkładu LU.
Sposób postępowania (wykorzystujemy
metodę eliminacji Gaussa):1) mnożenie wiersza pierwszego przez czynnik
i odjęcie go od i-tego wiersza (i=2...n), zastępujemy mnożeniem przez macierz:
A = L ¢ U
l
i1= a
(1)i1a
111L
(1)= 2 6 6 6 6 4
1 0 : : : : : : 0
¡l
211 0 : : : 0
¡l
310 1 0 0
: : : : : : : : : 1 0
¡l
n10 0 : : : 1
3
7 7
7 7
5
15 Macierze L(i) są nieosobliwe (można znaleźć dla każdej macierz odwrotną). Przemnażając obie strony
powyższych równań przez (L(n-1))-1, (L(n-2))-1...., otrzymamy:
wprowadzamy oznaczenia
Jak znaleźć macierze (L(i))-1? Eliminacja zmiennej z równań (i=3,4,...,n)
wygląda podobnie. Mnożymy wiersze
zmodyfikowanego układu równań o indeksach i=3,4,...,n przez czynnik
i odejmujemy od nich wiersz drugi. Operację tą można przeprowadzić mnożąc układ równań obustronnie przez macierz L(2):
Zapis macierzowy operacji:
Po wykonaniu (n-1) takich operacji dostajemy
l
i2= a
(2)i2a
22L
(2)= 2 6 6 6 6 4
1 0 : : : : : : 0
0 1 0 0 : : :
0 ¡l
321 0 0
: : : : : : : : : 1 0
0 ¡l
n20 0 1
3 7 7 7 7 5
L
(1)= 2 6 6 4
1 0 : : : 0
¡l
211 : : : 0 : : : : : : 1 0
¡l
n10 : : : 1 3 7 7 5
³ L
(1)´
¡1= 2 6 6 4
1 0 : : : 0 l
211 : : : 0 : : : : : : 1 0 l
n10 : : : 1
3 7 7 5 L = (L
(1))
¡1(L
(2))
¡1: : : (L
(n¡1))
¡1U = A
(n)=
µ
L
(n¡1)L
(n¡2): : : L
(1)¶
A
(1)A = L ¢ U
Dysponując macierzami L i U można rozwiązać układ równań:
poprzez rozwiązanie 2 układów równań
Rozwiązanie każdego z równań wiąże się z nakładem obliczeń jak dla układu z macierzą trójkątną (~1n2).
Rozkład LU (eliminacja Gaussa) to nakład rzędu
~0.5n3. Sprawdzenie
macierz L jest macierzą dolną z jedynkami na diagonali:
macierz U jest macierzą górną z
niezerowymi elementami na diagonali:
L
(i)³
L
(i)´
¡1= I
L = (L
(1))
¡1(L
(2))
¡1: : : (L
(n¡1))
¡1L =
2 6 6 6 6 4
1 0 : : : : : : 0 l
211 0 : : : 0 l
31l
321 0 0 : : : : : : : : : 1 0 l
n1l
n2l
n3: : : 1
3 7 7 7 7 5
U = 2 6 6 6 6
u
11u
12u
13: : : u
1n0 u
22u
23: : : u
2n0 0 u
33: : : u
nn3
7 7
7 7
17 Jaki jest wektor reszt rozwiązania?
Norma maksymalna wektora reszt może być mała nawet dla źle uwarunkowanych macierzy.
Zalety:
1) Duża wydajność dla dużej liczby równań. Rozkład LU opłaca się stosować w przypadku rozwiązywania wielu układów równań z tą samą macierzą współczynników układu A. Każdy układ równań różni się wtedy tylko wektorem wyrazów wolnych. Rozkład LU wykonuje się w takim przypadku tylko raz (ilość operacji ~n3).
Rozwiązanie pojedynczego układu równań można znaleźć przy zastosowaniu algorytmu postępowania odwrotnego (ilość operacji ~n2).
2) Oszczędność zajmowanej pamięci. Elementy macierzy L i U mogą zostać zapisane w macierzy A.
3) Jeśli macierz A jest symetryczna i dodatniookreślona to nie trzeba dokonywać wyboru elementów
podstawowych.
Układy równań z macierzą symetryczną.
Rozkład LDLT
Oznaczmy rozkład LU jako:
Szukamy rozkładu macierzy A w postaci:
gdzie: L – macierz trójkątna dolna z jedynkami na diagonali, D – macierz diagonalna z elementami diagonalnymi macierzy , U – macierz trójkątna górna z jedynkami na diagonali
Wykorzystujemy symetrię macierzy
co prowadzi do rozkładu dla macierzy symetrycznych:
Rozwiązanie układu Ax=b:
A = LU
A = LDU
A = LDL
TElementy rozkładu wyznaczamy rekurencyjnie
a dla i=2,3,...,n oblicza się na przemian:
Nakład obliczeń:
Zalety:
- nakład obliczeń dwukrotnie mniejszy niż w GCW
d
1= a
11l
ij= a
ij¡ P
j¡1k=1
c
ikl
jkd
jc
ij= d
jl
ij; j = 1; 2; : : : ; i ¡ 1
d
i= a
ii¡
i¡1
X
k=1
c
ikl
ikM = 1
6 n
3+ n
2¡ 7 6 n D = 1
6 n
3¡ 1 6 n
U ¹
U
TDL
T= A
T= A ) U = L
T19 Rozkład LLT
(Banachiewicza-Cholesky'ego)
Jeśli macierz A jest macierzą symetryczną dodatnio określoną wówczas można dokonać następującego rozkładu:
Macierz L jest macierzą trójkątną dolną z elementami na diagonali mogącymi
się różnić od 1. Macierz
spełnia warunek
więc rozkład ten nie jest jednoznaczny. Jeśli jednak liczby na diagonali macierzy L są
dodatnie wówczas rozkład jest jednoznaczny, a elementy macierzy wyznaczamy ze wzorów:
A = LL
TA = ¹ L ¹ L
Tl
ii= v u
u ta
ii¡
i¡1
X
k=1
l
2ik; i = 1; 2; : : : ; n
l
ji= a
ji¡ P
i¡1k=1
l
jkl
ikl
ii; j = i + 1; i + 2; : : : ; n
Nakład obliczeń:
Przykład
n ¡ p
D = 1
6 n
3+ 1
2 n
2+ 1 3 n
A = 2
4 4 2 2 2 5 3 2 3 6
3 5
i = 1 : l
11= 2; l
21= 1; l
31= 1 i = 2 : l
22= 2; l
32= 1
i = 3 : l
33= 2
A =
2
4 4 2 2 2 5 3 2 3 6
3 5
= 2
4 2 0 0 1 2 0 1 1 2
3 5 ¢
2
4 2 1 1 0 2 1 0 0 2
3 5 L = ¹ ¡L
M = 1
6 n
3+ 1
2 n
2¡ 2
3 n
Inne zastosowania rozkładu LU.
Obliczanie wyznacznika
Aby obliczyć wyznacznik macierzy A możemy posłużyć się rozkładem
Wyznacznik macierzy U jest iloczynem elementów stojących na diagonali tej macierzy (n-1 operacji mnożenia).
Odwracanie macierzy
Aby znaleźć przy pomocy macierzy L i U macierz odwrotną A
-1należy rozwiązać n układów równań:
A = LU
det(L) = 1
det(A + E) = det(LU )
= det(L)det(U ) = det(U )
Rozwiązania układów równań x
(i)stanowią kolumny macierzy odwrotnej A
-1(po
uwzględnieniu ewentualnych przestawień wierszy wynikających z wyboru elementu podstawowego).
Przykład
Znaleźć macierz A
-1jeśli macierz A jest zdefiniowana:
A = 2
4 1 0 1 3 3 0 0 2 2
3 5
P = 2 4
2 3
3 5 L =
2 4
1 0 0
0 1 0
1
3
¡
121 3
5 U = 2
4 3 3 0 0 2 2 0 0 2
3 5
x
(1)= 2
4 1=6 1=6
¡1=6 3
5 x
(2)= 2
4 ¡1=4 1=4 1=4
3 5
x
(3)= 2
4 1=2
¡1=2
3
5
21 Układy równań z macierzą trójdiagonalną
Szukamy rozwiązania układu równań:
Zdarza się że macierz układu równań ma postać (np.
równania z ilorazami różnicowymi):
Można wykonać rozkład LU macierzy T, macierze te mają postać:
L = 2 6 6 6 6 6 6 6 6 4
1
l
21 0
l
31
. . . ...
0 . .. ...
l
n1 3 7 7 7 7 7 7 7 7 5
U = 2 6 6 6 6 6 6 6 6 4
u
1c
1u
2c
20
u
3c
3. .. ...
0 . .. c
n¡1u
n3 7 7 7 7 7 7 7 7 5
Elementy macierzy rozkładu obliczamy rekurencyjnie:
Rozwiązanie układu Tx=b:
l
i= a
iu
i¡1T = 2 6 6 6 6 6 6 6 6 4
d
1c
1a
2d
2c
2a
3d
3c
3. .. ... ...
. .. ... c
n¡1a
nd
n3 7 7 7 7 7 7 7 7
5 u
1= d
1u
i= d
i¡ l
ic
i¡1; i = 2; 3; : : : ; n
Rozwiązanie:
nakład obliczeń: M=2n-2, D=n-1 liczba zajętych komórek: P=3n-2
Jeśli macierz jest dominująca kolumnowo to rozkład T=LU jest równoważny rozkładowi z częściowym wyborem elementu podstawowego (niezawodność metody).
Iteracyjne poprawianie rozwiązania układu równań
Błąd rozwiązania można sprawdzić obliczając wektor reszt:
x
n= y
nu
ngdzie: x jest poprawką, którą można łatwo wyznaczyć rozwiązując układ:
Należy jednak pamiętać, że wyznaczona poprawka do rozwiązania również jest przybliżeniem. Kolejne poprawione rozwiązanie, które uzyskamy będzie miało postać:
Jeżeli wektor reszt r=b-Ax jest obliczony dokładnie, poprawka x została wyznaczona metodą Gaussa- Crouta oraz zachodzi warunek:
wówczas norma wektora reszt obliczona w kolejnych iteracjach maleje
y
1= b
1y
i= b
i¡ l
iy
i¡1x
i= y
i¡ c
ix
i+1u
i; i = n ¡ 1; n ¡ 2; : : : ; 1
23
Algorytm iteracyjnego poprawiania rozwiązania:
1. Rozwiązujemy układ Ax
(1)=b metodą Gaussa 2. Obliczamy wektor reszt r
(1)i sprawdzamy
rozwiązanie
3. Sprawdzamy czy poniższy warunek jest prawdziwy
jeśli nie to przerywamy obliczenia. Jeśli jest spełniony to kontynuujemy.
4. Obliczamy poprawkę i wyznaczamy
5. Wyznaczamy wektor reszt r
(2)i sprawdzamy
rozwiązanie. W razie konieczności powtarzamy
kroki 3,4,5 aż do skutku.
Rozwiązywanie układów liniowych nadokreślonych – minimalizacja formy kwadratowej
Jak rozwiązać poniższy problem?
dla warunku
Brak dokładnego rozwiązania w większości przypadków. Można poszukiwać conajwyżej
„najlepszego” przybliżenia rozwiązania w sensie średniokwadratowym.
Dla
2 6 6 6 6 6 6 6 6 4
a
11: : : a
1na
21: : : a
2n: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : a
m1: : : a
mn3 7 7 7 7 7 7 7 7 5
¢ 2 6 6 4
x
1: : : : : : x
n3 7 7 5 =
2 6 6 6 6 6 6 6 6 4
b
1b
2: : : : : : : : : : : : b
m3 7 7 7 7 7 7 7 7 5
m > n
Szukamy minimum funkcjonału F:
Minimum znajdziemy jeśli narzucimy warunek (różniczkujemy po kolejnych elementach wektora):
Dwa pierwsze wyrazy są identyczne, (podobnie 2 i 3) więc otrzymujemy warunek:
@F
@~ x = ~0
25 Jeśli macierz A jest macierzą o rozmiarach mxn i elementach
rzeczywistych, b jest wektorem m-elementowym, a x wektorem n elementowym spełniającym równanie
wówczas dla dowolnego n-elementowego wektora y spełniona jest nierówność
Dla dowolnego wektora otrzymujemy warunek
skąd wynika że wektor r jest ortogonalny do wszystkich wektorów z przestrzeni R(A) rozpiętej na wektorach kolumnowych macierzy A.
Dlaczego? - bo macierz A jest prostokątna i nie generuje bazy zupełnej.
Ponadto nadokreślony układ równań można przekształcić do postaci układu normalnego
Macierz ATA jest symetryczna, dlatego układ normalny można rozwiązać metodą Cholesky'ego. Jeśli kolumny macierzy A są niezależne liniowo to macierz jest nieosobliwa.
Gdy kolumny A są niezależne liniowo, wówczas rozwiązanie układu jest jednoznaczne
gdzie macierz AI:
jest pseudoodwrotnością macierzy A.
PA jest operatorem rzutu ortogonalnego na przestrzeń rozpiętą na kolumnach macierzy A.
Uwaga: jeśli kolumny A są zależne liniowo (bardzo często) to wówczas istnieje wiele
rozwiązań (średniokwadratowych ) dających ten sam wektor reszt.
Przykład – wpływ uwarunkowania macierzy na rozwiązanie układu normalnego
A
I= (A
TA)
¡1A
TPrzekształcamy do układu normalnego
Dla precyzji obliczeń rzędu
i macierz ATA staje się osobliwa – układ nie posiada rozwiązania.
Metody wykorzystujące rozkład QR
Dla macierzy A o rozmiarach mxn, w której kolumny są niezależne liniowo istnieje jednoznaczny rozkład w postaci
Q jest macierzą o rozmiarach mxn taką że:
A
TA = 2
4 1 + "
21 1 1 1 + "
21 1 1 1 + "
23 5
A
Tb = 2 4 1
1 1
3 5
"
2¼ 0
A = QR
27 R jest macierzą trójkątną górną z elementami
Warunek minimalizacji normy wektora reszt w sensie średniokwadratowym przyjmuje postać
Jak wyznaczyć macierze Q i R?
Zmodyfikowana metoda Grama-Schmidta Wyznaczamy ciąg macierzy
r
kk= 1; k = 1; : : : ; n
A = A
(1); A
(2); : : : ; A
(n+1)= Q
Założenia
1) k-1 pierwszych kolumn w A(k) to także k-1 pierwszych kolumn w Q
2) kolumny
są ortogonalne do kolumn
Proces ortogonalizacji polega na rekurencyjnej ortogonalizacji kolumn o indeksie od k do n w k-tej iteracji względem kolumny qk (usuwamy z nich przyczynki od qk)
w ten sposób wyznaczamy k-tą kolumnę R (elementy rkj) oraz kolumnę k+1 macierzy Q (elementy aj(k+1)).
Klasyczna met. GS:
klasyczna met. GS różni się kolejnością obliczeń:
Jednocześnie przekształcamy wektor b tj.:
Po n+1 krokach b(n+1) jest to część wektora
pierwotnego ortogonalna do R(A) i stanowi wektor reszt. Po przeprowadzeniu procesu ortogonalizacji do końca (jeśli kolumny macierzy A są liniowo
niezależne) dostajemy
Metoda Grama-Schmidta dla macierzy o liniowo zależnych kolumnach
S=R-1 jest macierzą trójkątną górną.
Stąd wynika
Może się okazać że a1, a2,...,ak-1 są niezależne liniowo, ale ak jest już ich kombinacją (oraz wektorów q1, q2,...). Wtedy
(w macierzy Q) i powinniśmy przerwać proces ortogonalizacji.
Jeśli jednak
to istnieje wektor
Można więc przestawić kolumny j i k oraz
prowadzić proces ortogonalizacji do momentu gdy pozostałe wektory a(k) nie będą liniowo
A = QR ! AR
¡1= Q ! Q = AS
rank(A) > k
a
(k)j6= 0; k · j · n
a
(k)k= 0
29 Dla rank(A)=rA<n rozkład QR ma postać
gdzie: Rrxr -macierz trójkątna górna (rkk=1) S- macierz o rozmiarach rAx(n-rA)
Rozwiązania szukamy rozwiązując układ
gdzie: x1 - ma r składowych, x2 – jest dowolnym wektorem o n-r składowych (np. x2=0).
Przykład zakładamy