Download as pdf or txt
Download as pdf or txt
You are on page 1of 51

Metode directe pentru sisteme de ecuat ii liniare

Eliminare gaussiana, descompunere LU, Cholesky


Radu T. Trmbit as
Universitatea Babes-Bolyai
March 19, 2012
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 1 / 44
Descompunerea LU
Descompunerea LU
Transforma A C
mm
ntr-o matrice triunghiulara superior, U
scazand multiplii de linii
Fiecare L
i
introduce zerouri sub diagonala n coloana i :
L
m1
. . . L
2
L
1
. .
L
1
A = U =A = LU unde L = L
1
1
L
1
2
. . . L
1
m1
_

_




_

_
A
L
1

_

0
0
0
_

_
L
1
A
L
2

_


0
0
_

_
L
2
L
1
A
L
3

_



0
_

_
L
3
L
2
L
1
A
Triunghiularizare triunghiulara
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 2 / 44
Matricele L
k
Matricele L
k
La pasul k se elimina elementele de sub A
kk
:
x
k
=
_
x
11
x
kk
x
k+1,k
x
mk

T
L
k
x
k
=
_
x
11
x
kk
0 0

T
Multiplicatorii
jk
= x
jk
/x
kk
apar in L
k
:
L
k
=
_

_
1
.
.
.
1

k+1,k
1
.
.
.
.
.
.

mk
1
_

_
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 3 / 44
Construct ia lui L
Construct ia lui L
Matricea L cont ine tot i multiplicatorii ntr-o singura matrice (cu
semne +)
L = L
1
1
L
1
2
. . . L
1
m1
=
_

_
1

21
1

31

32
1
.
.
.
.
.
.
.
.
.
.
.
.

m1

m2

m,m1
1
_

_
Denim
k
= [0, . . . , 0,
k+1,k
, . . . ,
m,k
]
T
. Atunci L
k
= I
k
e

k
.
Avem L
1
k
= I +
k
e

k
, deoarece e

k
= 0 si
_
I
k
e

k
_ _
I +
k
e

k
_
= I
k
e

k
e

k
= I
De asemenea, L
1
k
L
1
k+1
= I +
k
e

k
+
k+1
e

k+1
, deoarece e

k+1
= 0
si
_
I +
k
e

k
_
_
I +
k+1
e

k+1
_
= I +
k
e

k
+
k+1
e

k+1
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 4 / 44
Eliminare gaussiana fara pivotare
Eliminare gaussiana fara pivotare
Se factorizeaza A C
mm
n A = LU
Eliminare gaussiana fara pivot
U := A; L = I ;
for k := 1 to m1 do
for j := k + 1 to m do

jk
:= u
jk
/u
kk
;
u
j ,k:m
:= u
j ,k:m

jk
u
k,k:m
;
Ciclul interior poate scris utilizand operat ii matriciale n loc de
cicluri for
Numar de operat ii (complexitatea)

m
k=1
2(mk)(mk) 2

m
k=1
k
2

2
3
m
3
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 5 / 44
Eliminare gaussiana cu produs exterior
Eliminare gaussiana cu produs exterior
Ciclul interior poate scris cu operat ii matriciale n loc de for
Eliminare gaussiana cu produs exterior
for k := 1 to m1 do
rows := k + 1 : m;
A
rows,k
:= A
rows,k
/A
k,k
;
A
rows,rows
:= A
rows,rows
A
rows,k
A
k,rows
;
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 6 / 44
Stabilitatea EG
Necesitatea pivotarii I
EG asa cum a fost prezentata este instabila.
Pentru anumite matrice EG poate esua, datorita tentativei de
mpart ire la zero
A =
_
0 1
1 1
_
Matricea este nesingulara si bine condit ionata;
condA =
3+

5
2
2.168
Fenomenul este mai general; este evident iat de o usoara perturbat ie a
lui A
A =
_
10
20
1
1 1
_
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 7 / 44
Stabilitatea EG
Necesitatea pivotarii II
Acum procesul nu esueaza; se obt ine (n aritmetica exacta)
L =
_
1 0
10
20
1
_
, U =
_
10
20
1
0 1 10
20
_

In aritmetica n virgula otanta, dubla precizie, 1 10


20
nu este
reprezentabil exact, el se va rotunji la 10
20
Factorii calculat i ai descompunerii vor

L =
_
1 0
10
20
1
_
,

U =
_
10
20
1
0 10
20
_
Produsul

L

U nu este apropiat de A

U =
_
1 0
10
20
1
_

_
10
20
1
0 10
20
_
=
_
10
20
1
1 0
_
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 8 / 44
Stabilitatea EG
Necesitatea pivotarii III
Rezolvand sistemul

Ux =
_
1
0
_
se obt ine x =
_
0
1
_
, dar solut ia corecta este x =
_
1
1
_
Explicat ie: EG nu este nici regresiv stabila, nici stabila (ca algoritm de
factorizare). Mai mult, matricele triunghiulare obt inute pot foarte
prost condit ionate, introducandu-se astfel o sursa suplimentara de
instabilitate.
Observat ie: Daca un pas al unui algoritm nu este regresiv stabil,
algoritmul ntreg poate instabil.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 9 / 44
Pivotare
Pivotare
La pasul k, am utilizat elementul k, k al matricei ca pivot si am
introdus zerouri n coloana k a liniilor ramase
_

_

x
kk




_

_

x
kk

0
0
0
_

_
Dar, orice alt element i k din coloana k poate utilizat ca pivot:
_

_



x
ik


_

_

0
0
x
ik

0
_

_
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 10 / 44
Pivotare Pivotare
Pivotare
De asemenea, se poate utiliza orice alta coloana j k:
_

_



x
ij


_

_

0
0
x
ij

0
_

_
Alegand diferit i pivot i ne asiguram ca putem evita pivot ii nuli sau
foarte mici

In loc sa utilizam pivot i n pozit ii diferite, putem interschimba linii sau


coloane si sa utilizam algoritmul standard (pivotare)
O implementare concreta poate face pivotarea indirect, fara a muta
zic datele
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 11 / 44
Pivotare Pivotare part iala
Pivotare part iala
Alegerea pivot ilor dintre tot i candidat ii valizi este costisitoare(pivotare
completa)
Consideram doar pivot ii din coloana k si interschimbam
liniile(pivotare part iala)
_

_



x
ik


_

_
Select ie pivot
P
1

_

x
ik




_

_
Interschimbare linii
L
1

_

x
ik

0
0
0
_

_
Eliminare
Cu operat ii matriceale:
L
m1
P
m1
. . . L
2
P
2
L
1
P
1
A = U
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 12 / 44
Factorizarea PA = LU
Factorizarea PA = LU
Pentru a combina tot i L
k
si tot i P
k
n forma dorita de noi, rescriem
factorizarea precedenta sub forma
L
m1
P
m1
. . . L
2
P
2
L
1
P
1
A = U
_
L

m
L

2
L

1
_
(P
m1
P
2
P
1
) A = U
unde
L

k
= P
m1
P
k+1
L
k
P
1
k+1
P
1
m1
Aceasta ne da factorizare (descompunerea) LU a lui A
PA = LU
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 13 / 44
Eliminarea gaussiana cu pivotare part iala
Eliminarea gaussiana cu pivotare part iala
Factorizeaza A C
mm
n PA = LU
Eliminare gaussiana cu pivotare part iala
U := A; L := I ; P := I ;
for k := 1 to m1 do
Alege i k care maximizeaza |u
ik
|;
l
k,1:k1
l
i ,1:k1
;
p
k,:
p
i ,:
;
for j := k + 1 to m do

jk
:= u
jk
/u
kk
;
u
j ,k:m
:= u
j ,k:m

jk
u
k,k:m
;
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 14 / 44
Eliminarea gaussiana cu pivotare part iala Exemplu
Exemplu
Rezolvat i sistemul
_
_
1 1 1
1 1 2
2 4 2
_
_
x =
_
_
3
4
8
_
_
prin descompunere LUP.
Solut ie: Avem
_
_
1 1 1 1
2 1 1 2
3 2 4 2
_
_

_
_
3 2 4 2
2 1 1 2
1 1 1 1
_
_

_
_
3 2 4 2
2
1
2
1 2
1
1
2
1 1
_
_
_
_
3 2 4 2
2
1
2
1 1
1
1
2
1 0
_
_

_
_
3 2 4 2
2
1
2
1 1
1
1
2
1 0
_
_

_
_
3 2 4 2
2
1
2
1 1
1
1
2
1 1
_
_
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 15 / 44
Eliminarea gaussiana cu pivotare part iala Exemplu
Exemplu (continuare)
Deci
L =
_
_
1 0 0
1
2
1 0
1
2
1 1
_
_
, U =
_
_
2 4 2
0 1 1
0 0 1
_
_
, P =
_
_
0 0 1
0 1 0
1 0 0
_
_
.
Sistemele triunghiulare corespunzatoare sunt
_
_
1 0 0
1
2
1 0
1
2
1 1
_
_
y = Pb =
_
_
8
4
3
_
_
,
cu solut ia y = [8, 0, 1]
T
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 16 / 44
Eliminarea gaussiana cu pivotare part iala Exemplu
Exemplu (continuare)
si
_
_
2 4 2
0 1 1
0 0 1
_
_
x =
_
_
8
0
1
_
_
,
cu solut ia x = [1, 1, 1]
T
.
Vericare
PA =
_
_
0 0 1
0 1 0
1 0 0
_
_

_
_
1 1 1
1 1 2
2 4 2
_
_
=
_
_
2 4 2
1 1 2
1 1 1
_
_
LU =
_
_
1 0 0
1
2
1 0
1
2
1 1
_
_

_
_
2 4 2
0 1 1
0 0 1
_
_
=
_
_
2 4 2
1 1 2
1 1 1
_
_
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 17 / 44
Pivotare totala
Pivotare totala
Daca se selecteaza pivot i din coloane diferite, sunt necesare matrice
de permutare la stanga Q
k
:
L
m1
P
m1
L
2
P
2
L
1
P
1
AQ
1
Q
2
Q
m1
= U
(L

m1
L

2
L

1
)(P
m1
P
2
P
1
)A(Q
1
Q
2
Q
m1
) = U
Punem
L = (L

m1
L

2
L

1
)
1
P = P
m1
P
2
P
1
Q = Q
1
Q
2
Q
m1
pentru a obt ine
PAQ = LU
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 18 / 44
Pivotare totala
Liu Hui c. 220 c. 280
Matematician chinez, a
discutat eliminarea
,,gaussiana n comentariile
sale asupra lucrarii ,,Cele noua
capitole ale artei matematice
263 AD
Carl Friedrich Gauss 1777-1855
Matematica, astronomie,
geodezie, magnetism
1809 GE
(Ca adolescent n
Braunschweig a descoperit
teorema binomiala,
reciprocitatea patratica, media
aritmetico-geometrica. . . )
1807-1855: Universitatea din
Gottingen
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 19 / 44
Stabilitatea LU Stabilitatea LU fara pivotare
Stabilitatea LU fara pivotare
Pentru A = LU calculata fara pivotare:

U = A + A,
A
L U
= O(eps)
Eroare se refera la

L

U, nu la

L sau

U
Nota: la numitor apare L U, nu A
L si U pot arbitrar de mari, de exemplu
A =
_
10
20
1
1 1
_
=
_
1 0
10
20
1
_ _
10
20
1
0 1 10
20
_
Deci, algoritmul este nestabil
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 20 / 44
Stabilitatea LU Stabilitatea LU cu pivotare
Stabilitatea LU cu pivotare
Daca se face pivotare, toate elementele lui L sunt 1 n modul, deci
L = O(1)
Pentru a masura cresterea lui U, se introduce factorul de crestere
=
max
ij
|u
ij
|
max
ij
|a
ij
|
care implica U = O( A)
Pentru descompunerea PA = LU calculata cu pivotare:

U = PA + A,
A
A
= O(eps)
Daca = O(1), atunci algoritmul este regresiv stabil
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 21 / 44
Stabilitatea LU Factorul de crestere
Factorul de crestere
Consideram matricea
_

_
1 1
1 1 1
1 1 1 1
1 1 1 1 1
1 1 1 1 1
_

_
=
_

_
1
1 1
1 1 1
1 1 1 1
1 1 1 1 1
_

_
_

_
1 1
1 2
1 4
1 8
16
_

_
Nu apare nici o pivotare, deci aceasta este o factorizare PA = LU
Factorul de crestere = 16 = 2
m1
(se poate arata ca acesta este
cazul cel mai nefavorabil)
Deci, = 2
m1
= O(1), uniform, pentru toate matricele de
dimensiune m
Regresiv stabil conform denit iei, dar rezultatul poate inutil
Totusi, nu se stie exact de ce, factorii de crestere sunt mici n practica
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 22 / 44
Descompunerea Cholesky Matrice SPD
Matrice SPD
Reamintim:
A R
mm
este simetrica daca a
ij
= a
ji
, sau A = A
T
A C
mm
este hermitiana daca a
ij
= a
ji
, sau A = A

O matrice hermitiana A este hermitian pozitiv denita daca x

Ax > 0
pentru x = 0
x

Ax este ntotdeauna real deoarece x

Ay = y

Ax
Simetric pozitiv denita, sau SPD, pentru matrice reale
daca A este mm PD si X are rang maxim, atunci X

AX este PD
Deoarece (XAX)

= X

AX, si daca x = 0 atunci Xx = 0 si


x

(X

AX)x = (Xx)

A(Xx) > 0
Orice submatrice principala a lui A este PD, si orice element diagonal
a
ii
> 0
matricele PD au valori proprii reale pozitive si vectori proprii
ortonormali
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 23 / 44
Descompunerea Cholesky Factorizarea Cholesky
Factorizarea Cholesky
Se elimina sub pivot si la dreapta pivotului (datorita simetriei):
A =
_
a
11
w

w K
_
=
_
0
w/ I
_ _
w

/
0 K ww

/a
11
_
=
_
0
w/ I
_ _
1 0
0 K ww

/a
11
_ _
w

/
0 I
_
= R

1
A
1
R
1
unde =

a
11
K ww

/a
11
este o submatrice principala a matricei PD R

1
AR
1
1
,
deci elementul ei din stanga sus este pozitiv
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 24 / 44
Descompunerea Cholesky Factorizarea Cholesky
Factorizarea Cholesky
Se aplica recursiv si se obt ine
A = (R

1
R

2
. . . R

m
)(R
m
. . . R
2
R
1
) = R

R, r
ii
> 0
Existent a si unicitatea: orice matrice HPD are o factorizare Cholesky
unica
Algoritmul recursiv de pe folia precedenta nu esueaza niciodata
Rezulta si unicitatea, deoarece =

a
11
este determinat unic (dat) la
ecare pas si la fel, ntreaga linie w/
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 25 / 44
Descompunerea Cholesky Algoritmul de factorizare Cholesky
Algoritmul de factorizare Cholesky
Factorizeaza matricea HPD A C
mm
n A = R
T
R:
Factorizare Cholesky
R := A;
for k := 1 to m do
for j := k + 1 to m do
R
j ,j :m
:= R
j ,j :m
R
k,j :m
R
k,j
/R
k,k
R
k,k:m
:= R
k,k:m
/
_
R
k,k
Complexitatea (numar de operat ii)
m

k=1
m

j =k+1
2(mj ) 2
m

k=1
k

j =1
j
m

k=1
k
2

m
3
3
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 26 / 44
Descompunerea Cholesky Exemplu
Exemplu
Sa se rezolve sistemul
_
_
1 2 1
2 5 3
1 3 3
_
_
x =
_
_
4
10
7
_
_
folosind descompunerea Cholesky.
Solut ie: Calculand radicalii pivot ilor si complementele Schur se obt ine
B =
_
_
1 2 1
5 3
3
_
_

_
_
1 2 1
1 1
2
_
_

_
_
1 2 1
1 1
1
_
_
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 27 / 44
Descompunerea Cholesky Exemplu
Exemplu
Sistemele corespunzatoare sunt:
_
_
1
2 1
1 1 1
_
_
y =
_
_
4
10
7
_
_
cu solut ia y =
_
4 2 1

T
si
_
_
1 2 1
1 1
1
_
_
x =
_
_
4
2
1
_
_
,
cu solut ia x =
_
1 1 1

T
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 28 / 44
Descompunerea Cholesky Stabilitateatea
Stabilitatea
Factorul Cholesky calculat

R satisface

R = A + A,
A
A
= O(eps)
algoritmul este regresiv stabil
Dar, eroarea n

R poate mare ,
_
_
_

R R
_
_
_ / R = O((A)eps)
Rezolvare Ax = b pentru HPD A si cu doua substitut ii
Numarul de operat ii Cholesky m
3
/3
Algoritm regresiv stabil:
(A +A)x = b,
A
A
= O(eps)
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 29 / 44
Descompunerea Cholesky Stabilitateatea
John von Neumann
(1903-1957)
Andre Louis Cholesky
(1875-1918)
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 30 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Backslash n MATLAB
Backslash n MATLAB
x=A\b pentru A densa realizeaza urmatorii pasi
1
Daca A este triunghiulara superior sau inferior se rezolva prin
substitut ie inversa sau directa
2
Daca A este o permutare a unei matrice triunghiulare, se rezolva prin
substitut ie (utila pentru [L,U]=lu(A) caci L este permutata)
3
Daca A este simetrica sau hermitiana
Se verica daca toate elementele diagonale sunt pozitive
Se ncearca cu Cholesky; daca se termina cu succes se rezolva prin
substitut ie
4
Daca A este Hessenberg , se reduce la o matrice triunghiulara superior
si apoi se rezolva prin substitut ie inversa
5
Daca A este patratica, se factorizeaza PA = LU si se rezolva prin
substitut ie inversa
6
Daca A nu este patratica, se face factorizare QR cu metoda
Householder, si se rezolva problema de aproximare n sensul celor mai
mici patrate
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 31 / 44
Descompunere QR
Descompunere QR
Fie A C
mn
. Se numeste descompunere QR a lui A perechea de
matrice (Q, R) unde Q C
mn
este unitara, R C
nn
este
triunghiulara superior si A = QR.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 32 / 44
Descompunere QR Metoda lui Householder
Triunghiularizare Householder
Metoda lui Householder nmult este cu matrice unitare pentru a
transform matricea ntr-una triunghiulara; de exemplu la primul pas:
Q
1
A =
_

_
r
11

0
0
.
.
.
.
.
.
.
.
.
.
.
.
0
_

_
La sfarsit, am obt inut un produs de matrice ortogonale
Q
n
. . . Q
2
Q
1
. .
Q

A = R
Triunghiularizare ortogonala
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 33 / 44
Introducerea de zerouri
Introducerea de zerouri
Q
k
introduce zerouri sub diagonala n coloana k
Pastreaza zerourile introduse anterior
_

_





_

_
A
Q
1

_

0
0
0
0
_

_
Q
1
A
Q
2

_


0
0
0
_

_
Q
2
Q
1
A
Q3

0
0
_

_
Q
3
Q
2
Q
1
A
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 34 / 44
Reectori Householder
Reectori Householder
Fie Q
k
de forma
Q
k
=
_
I 0
0 F
_
unde I este (k 1) (k 1) si F este (mk + 1) (mk + 1)
Cream reectorul Householder F care introduce zerouri:
x =
_

.
.
.

_
Fx =
_

_
x
0
.
.
.
0
_

_
= x e
1
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 35 / 44
Reectori Householder-Ideea
Reectori Householder-Ideea
Ideea: reectam n raport cu hiperplanul H, ortogonal pe
v = x
2
e
1
x, aplicand matricea unitara
F = I 2
vv

v
A se compara cu
proiectorul
P
v
= I
vv

v
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 36 / 44
Reectori Householder-Ideea
Determinarea reectorului
reexie Householder: P = I 2uu
T
, u
2
= 1; P simetrica si
ortogonala, deoarece P = P
T
si
PP
T
=
_
I 2uu
T
_ _
I 2uu
T
_
= I 4uu
T
+ 4uu
T
uu
T
= I
Dorim Px = [c, 0, . . . , 0]
T
= ce
1
(anulam toate componentele lui x
exceptand prima)
Px = x 2u(u
T
x) = ce
1
=u =
1
2u
T
x
(x ce
1
)
x
2
= Px
2
= |c|
obt inem u paralel cu u = x x
2
e
1
, deci u = u/ u
2
. Orice
alegere de semn corespunde; vom alege
u = [x
1
+ sign(x
1
) x
2
, x
2
, . . . , x
n
]
T
, u = u/ u
2
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 37 / 44
Alegerea reectorului
Alegerea reectorului
Putem aplica reexia oricarui multiplu z al lui x e
1
cu |z| = 1
Proprietat i numerice mai bune pentru v mare, de exemplu
v = sign(x
1
) x e
1
+ x
Nota: sign(0) = 1, dar n
MATLAB, sign(0)==0
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 38 / 44
Algoritmul lui Householder
Algoritmul lui Householder
Calculeaza factorul R al descompunerii QR a matricei mn A
(m n)
Lasa rezultatul n A, memorand vectorii de reexie v
k
pentru utilizare
ulterioara
Factorizare QR prin metoda Householder
for k := 1 to n do
x := A
k:m,k
;
v
k
:= sign(x
1
)x
2
e
1
+ x;
v
k
:= v
k
/v
k

2
;
A
k:m,k:n
= A
k:m,k:n
2v
k
(v

k
A
k:m,k:n
)
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 39 / 44
Aplicarea sau obt inerea lui Q
Aplicarea sau obt inerea lui Q
Calculam Q

b = Q
n
. . . Q
2
Q
1
b si Qx = Q
1
Q
2
. . . Q
n
x implicit
Pentru a crea Q explicit, aplicam pentru x = I
Calculul implicit al lui Q

b
for k := 1 to n do
b
k:m
= b
k:m
2v
k
(v

k
b
k:m
);
Calculul implicit al lui Qx
for k := n downto 1 do
x
k:m
= x
k:m
2v
k
(v

k
x
k:m
);
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 40 / 44
Complexitatea QR-Householder
Complexitatea QR-Householder
Cea mai mare parte a efortului
A
k:m,k:n
= A
k:m,k:n
2v
k
(v

k
A
k:m,k:n
)
Operat ii pe iterat ie:
2(mk)(n k) pentru produsele scalare v

k
A
k:m,k:n
(mk)(n k) pentru produsul exterior 2v
k
( )
(mk)(n k) pentru scaderea A
k:m,k:n

4(mk)(n k) total
Incluzand ciclul exterior, totalul devine
n

k=1
4(mk)(n k) = 4
n

k=1
_
mn k (m + n) + k
2
_
4mn
2
4(m + n)n
2
/2 + 4n
3
/3 = 2mn
2
2n
3
/3
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 41 / 44
Complexitatea QR-Householder
Figure: Alston S. Householder
(1904-1993), matematician
american. Contribut ii importante:
biologie matematica, algebra
liniara numerica. Cartea sa The
Theory of Matrices in Numerical
Analysis a avut un mare impact
asupra dezvoltarii analizei
numerice si a informaticii.
Figure: James Wallace Givens
(1910-1993) Pionier al algebrei
liniare numerice si informaticii
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 42 / 44
Complexitatea QR-Householder
Exemplu
Calculat i descompunerea QR a matricei
A =
_
3 1
4 1
_
.
Solut ie. Reexia pentru prima coloana este P = I 2uu
T
. Vectorul u se
determina astfel:
u =
_
x
1
+ sign(x
1
) x
2
x
2
_
=
_
3 + 5
4
_
=
_
8
4
_
.
u =
_
8
2
+ 4
2
= 4

5
u =
u
u
=
_
2

5
5

5
5
_
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 43 / 44
Complexitatea QR-Householder
Matricea de reexie este
P =
_
1 0
0 1
_
2
_
2

5
5

5
5
_ _
2

5
5

5
5
_
T
=
_

3
5

4
5

4
5
3
5
_
= Q
T
.
Se obt ine:
Q =
_

3
5

4
5

4
5
3
5
_
R = Q
T
A =
_

3
5

4
5

4
5
3
5
_

_
3 1
4 1
_
=
_
5
7
5
0
1
5
_
.
Radu T. Trmbit as (Universitatea Babes-Bolyai ) Metode directe pentru sisteme de ecuat ii liniare March 19, 2012 44 / 44

You might also like