Proceduri numerice de analizËa sistemicËa
Proceduri numerice de analizËa sistemicËa
Proceduri numerice de analizËa sistemicËa
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
6 LABORATOR 6. PROCEDURI NUMERICE DE ANALIZĂ SISTEMICĂ<br />
(<strong>de</strong>flaţie) <strong>de</strong> tip (6.14), în care r = k − 1. În acest sens, mai <strong>de</strong>parte vom spune că structura<br />
(6.17), în general reductibilă, constituie forma superior Hessenberg (completă) a perechii (A, b).<br />
În consecinţă avem următorul rezultat important.<br />
Propoziţia 6.1 O pereche (A, b) este controlabilă dacă şi numai dacă există o matrice ortogonală<br />
U astfel încât perechea (Ã, ˜b) are forma (6.17) şi este satisfăcută condiţia (6.18).<br />
În rezumat, sunt posibile două cazuri:<br />
1. Perechea (A, b) este controlabilă, <strong>de</strong>ci r <strong>de</strong>f<br />
= rangR = n.<br />
În acest caz perechea (A, b) este ortogonal asemenea cu o pereche (Ã, ˜b) în forma superior<br />
Hessenberg controlabilă (6.17), (6.18).<br />
2. Perechea (A, b) nu este controlabilă, <strong>de</strong>ci r <strong>de</strong>f<br />
= rangR < n.<br />
În acest caz perechea (A, b) este ortogonal asemenea cu o pereche (Ã, ˜b) în forma bloc superior<br />
triunghiulară (6.14), în care perechea (A R , b R ) este controlabilă <strong>de</strong> ordin r, <strong>de</strong>ci are structura<br />
(6.15), (6.16). (În particular, (6.14) poate coinci<strong>de</strong> cu forma superior Hessenberg completă<br />
(6.17), în care r este cel mai mic întreg ≥ 1 astfel încât h r+1 = 0).<br />
Aducerea unei perechi (A, b) cu o singură intrare la forma superior Hessenberg completă<br />
(6.17) se face printr-o procedură directă, a cărei schemă <strong>de</strong> calcul este următoarea.<br />
1. Se <strong>de</strong>termină un reflector U 1 ∈ R n×n astfel încât ultimele n−1 componente ale vectorului<br />
b ← U 1 b să fie nule.<br />
2. A ← U 1 AU 1 .<br />
3. [A, U] = hess(A, U 1 ) un<strong>de</strong> funcţia MATLAB hess aduce matricea A la forma superior<br />
Hessenberg A ← Ã = ŨA U ˜T<br />
, prin transformări ortogonale <strong>de</strong> asemănare (vezi algoritmul<br />
HQ din cursul <strong>de</strong> Calcul Numeric).<br />
Pentru a transforma schema <strong>de</strong> calcul <strong>de</strong> mai sus într-un algoritm implementabil vom introduce<br />
trei funcţii <strong>de</strong> calcul cu reflectori, a căror justificare se poate găsi în cursul <strong>de</strong> Calcul<br />
Numeric.<br />
1. Procedura H0 <strong>de</strong> calcul a elementelor <strong>de</strong>finitorii ale reflectorului U 1 , <strong>de</strong>finit prin U 1 =<br />
I n − u1uT 1<br />
β 1<br />
, astfel încât (U 1 b)(2 : n) = 0 şi calculul b ← U 1 b.<br />
Procedura U = H0(b)<br />
1. σ = sgn(b 1 )( ∑ n<br />
i=1 b2 i )1/2<br />
2. u 11 = b 1 + σ; u i1 = b i , i = 2 : n<br />
3. β 1 = σu 11<br />
4. b 1 ← h 1 = −σ; b i = 0, i = 2 : n<br />
2. Procedura H1 <strong>de</strong> premultiplicare a unei matrice cu un reflector U 1 .<br />
Procedura A = H1(U, A)<br />
1. Pentru j = 1 : n<br />
1. τ = ( ∑ n<br />
i=1 u i1a ij )/β 1<br />
2. a ij ← a ij − τu i1 , i = 1 : n.<br />
3. Procedura H2 <strong>de</strong> postmultiplicare a unei matrice cu un reflector U 1 .