Documente Academic
Documente Profesional
Documente Cultură
Rezolvarea
R
l
sistemelor
i t
l de
d ecuaii
ii liniare
li i
n
= minn b A x
x R
Consideram
C
id
spatiul
ti l vectorial
t i l V = Kn(K=R
(K R sau
K=C), nN*. Pe acest spatiu orice doua
norme suntt echivalente.
hi l t
Vom nota cu ||||, ||||1, ||||2 urmatoarele
norme uzuale pe Kn:
n care se definete
A#=(ATA)-1ATRnxm
ca invers generalizat sau pseudoinvers
P
Penrose
- Moore
M
a matricei
ti i d
dreptunghiulare
t
hi l
A Rmxn.
O metod
t d ortogonal
t
l transform
t
f
sistemul
i t
l Ax=b
ntr-un sistem echivalent cu matrice superior
triunghiular
HAx=Hb
n care matricea de transformare HRmxn este
ortogonal.
n norm 2.
Transformrile ortogonale conserv norma
euclidian
Hx 22 = (Hx,Hx) = (Hx)T(Hx) == x T HT Hx = x T x = x
2 = sup
x0
H x
x
2
2
2
2
R = HA
A = HT R
HA
A
=
HA
= HT R
HT R
= R
Metoda Householder
Reflectorii Householder sunt matrice de forma:
H p = Im 2
v Tp v p
2
v p v Tp
v Tp v p
1
=
vp
2
2
2
Reflectori Householder
Matricea Householder se folosete sub forma echivalent:
H=I-2uuT, cu uTu=1
v
vT
vv T
H = I 2 T = I 2
= I 2uu T
v2
v2
v v
Teorem: x,yRn, xy, ||x||2=||y||2,
u =
x y
x y 2
atunci (I-2uuT)x=y.
||x-y||22=(x-y)T(x-y)=xTx-xTy-yTx+yTy=2(xTx-yTx)
(I-2uu
(I
2uuT)x= x 2
(x y)(x y)T
2
x y2
(I-2uuT)x=x-(x-y)=y
Reflectori Householder
Consecin: =||x||2, v=x+e1, u=v/||v||2
atunci (
(I-2uuT)
)x=-e1
Caz particular pentru x=-e1
uuT=vvT/||v||22
||v||22=(x+e1)(x+e1)=xTx+xTe1+e1Tx+2e1Te1
=||x||22+2+2x1=22+2x1=2(+x1)
ntruct apare la numitor evitm anularea:
=sign(x1)||x||2
Metoda Householder
Matricile reflectori elementari
H Tp
v p v Tp
= Im
= Im
sunt simetrice
1
v p v Tp
= Im
1
v p v Tp = H p
H pH
T
p
= Im
v p v Tp
v p v Tp
v p v Tp v p v Tp
2
= Im
2 =
2
x
i =
i= p
i=
x( p + 1 : m )
0
2
Metoda Householder
Fixm componentele vectorul vp care intervine n
expresia
p
reflectorului Hp la valorile:
ip
0
i = 1 : p 1
i = p
x p +
x
i = p + 1 : m
i
Metoda Householder
( )
= sign x p
i= p
( )
x i2 = sign x p
x(p : m )
vp vTp
vTp x
x = x
Hp x = Im
vp = x vp
v Tp x
=
1
=
vp
2
2
2
1
=
i= p
2
ip
1 2
=
v pp +
2
i= p + 1
2
i
Metoda Householder
[(
1
= xp + 2 + 2 x2p = xp + = vpp
2
m
m
=
(H
v Tp x
(x
i= p
ip
xi
xp +
+ x p + 2 x 2p
xp +
x i = xi vip
v pp x p +
i= p+1
xp +
2
i
= 1
xi
i = 1: p 1
= xp v pp =
i = p
0
i = p + 1: m
Metoda Householder
n urma aplicrii transformrii Hp, vectorul x se
modific astfel:
primele p-1 componente rmn nemodificate
componenta
p
p devine mare n valoare absolut
restul componentelor (p+1:m) se anuleaz.
n locul vectorului Householder vp am p
putea folosi
vectorul normat
u
v
v
p
p
= 1.
H = I 2 u u T,
uT u = 1
Metoda Householder
Particularizm pentru p=1
(H 1
x )i
i = 1
,
=
i = 2 : m
0,
H1 x = e1 = x
vi1
x1 +
=
i = 2: m
xi,
v 1 = x + e1
sign(x 1 ) e 1
Metoda Householder
Transformarea H1 este determinat numai de
vectorul v i de .
Aadar x 1
x
2
L
x m
n care
H1 =
0
H
v1
v 2
,
L
v m
Metoda Householder
Cum vectorul v este determinat esenial numai ca
v
, l vom norma cu : v =
direcie,
x
1
+ 1 = x1 + 1
v i1 =
xi
= x i,
i = 2: m
,
= v1
L
L
x
m
v m
Metoda Householder
ntruct transformarea Hp modific numai
componentele din poziiile p:m, ea se poate realiza
aplicnd H1 unui vector x(p:m)
( m)
Aplicm reflectorul H1 unui vector oarecare y
v1 v1T
v1T y
y = y
H1 y = Im
v1 = y v1
v y
=
=
T
1
(H1
v i1
i=1
yi
y )i = y i v i1, i = 1 : m
H A = Hn Hn 1 K H2 H1 A
Hp
Ip 1
=
0
Vn p + 1
0
[a
] [
L ap L an = Hp a1 L Hp ap L Hp an
relaia Householder.
Pornind de la sistemul iniial, prin aplicarea
transformrilor:
A p + 1 = H p A p,
A 1 = A,
b p + 1 = H p b p,
b1 = b
p = 1: n
A n + 1 x = bn + 1
R = A n+1
Q = HT = (Hn Hn 1 K H2H1 )T Im
adic transformrile se aplic matricei unitate i
se transpune rezultatul, sau se calculeaz
direct:
G kl
Ik 1
c
Il k 1
s
Im l
function x=rotvec(k, l, c, s, x)
%aplica transformarea Gkl vectorului x
t = zeros(2,1);
t = [c s;-s c]*[x(k); x(l)];
x(k)
(k) = t(l);
t(l)
x(l) = t(2);
Determinm transformarea (c,
(c s)
s), care anuleaz
componenta l :
-s xk+c.x
-s.x
+c xl=0
c =
s =
xk
x 2k + x l2
xl
x 2k + x l2
xk
=
r
=
xl
r
x 2k + x l2
x 2k + x l2
x 2k + x l2 = r
Gn2
G1
k = 1 : n 1,
l = k + 1 : n.
Factorizarea QR
Orice matrice ARmxn poate fi descompus sub
forma A=Q1R1, cunoscut sub numele de
factorizare QR n care Q1= este o matrice cu
coloane ortogonale i R1 este o matrice ptrat
superior triunghiular.
Q = [Q1
R 1
Q2 ] = Q1R 1,
0
Q 1 R m n, Q 2 R ( m n ) n, R 1 R n n.
Q = HT = (Hn Hn1 KH1)T = H1T HT2 KHTn = H1 H2 KHn
In
In
In
Q1 = [Q1 Q2 ] = Q = H1H2 K Hn
0
0
0
Factorizarea QR
for i = n:-1:1
s
= A(i,i+1:n) * x(i+1:n);
x(i) = (b(i) - s) / A(i,i);
end
R = A; Q = Q'
Q';
Ortogonalizarea Gram-Schmidt
[a
] [
L aj L a n = q 1 L q j L q n
0 0 rjj L rjn
L
L
L
L
L
0 0 0 L rnn
1,
=
0,
i = j
i j
a1 = q 1 r11
q1
= 1 de unde r11 =
a1
i q 1 = a1 / r11
Ortogonalizarea Gram-Schmidt
a2=q1r12+q
+ 2r22, q1Ta2=r12,
||q2||=1, r22=||a2-q1r12||,
q2=(a
( 2-q1r12)/r
)/ 22
a3=q1r13+q2r23+q3r33, q2Ta3=r23,
||q3||=1,
1 r33=||a3-q1r13-q2r23||,
q3=(a3-q1r13-q2r23)/r33
aj=q1r1j+q2r2j++qjrjj
qkTaj=rkj, k=1:j-1 j 1
rjj = aj q k rkj
||qj||=1,
k=1
qj
= aj
q k rkj / rjj
k=1
j 1
rjj=||qj||
j 1
k=1
k kj
qj = qj/
/rjj
Algoritmul Gram-Schmidt clasic este numeric
instabil. Rezultate mult mai bune ne furnizeaz o
variant modificat
q1a
ak=r
r1k
q1q1ak=q1r1k
(I-q1q1)ak=q1r2k++qkrkk
q2(I-q1q1)ak=r2k
q2q2(I-q1q1)ak=q2r2k
(I 1q1)(I-q
(I-q
)(I 2q2)a
) k=q3r3k++qkrkk
Q = A
pentru k=1:n
rkk=||qk||
||q ||
qk=qk/rkk
pentru j=k+1:n
rkj=qkqj
qj=qj-qkrkj