Microsoft Word - CURS 4 - partea I
METODE NUMERICE PENTRU PROBLEM DE VALORI PROPRII
1. Definiii, proprieti.
2. Metoda puterii i variante ale acesteia. Metoda iteraiilor
simultane.
3. Metoda Jacobi.
1. Valori i vectori proprii
1.1 Valori i vectori proprii. Polinom caracteristic. Subspaiu
propriu.
Fie dat matricea A n n , real sau complex.
DefiniieDac vectorul x 0 i scalarul satisfac relaia
Ax = x,
(1)
atunci: se numete valoare proprie, iar x vectorul propriu
asociat lui . Dac x i y sunt asociai cu , atunci i x + y, ,
scalari, este asociat lui .
Dac P este o matrice n n nesingular, matricea
A = P1 APse zice similar cu A. P se zice matrice de
transformare.
Propoziie Matricile similare au aceleai valori proprii.
Dac x sunt vectorii proprii ai lui A, vectorii proprii x ai lui
A se gsesc din relatia x = Px.(ntr-adevr: dac Ax = x, rezult P1 Ax
= P1x, sau P1 AP(P1 x) = (P1 x); cu x = P1x, rezult Ax = x.)
Mai multe metode numerice transform matricea A ntr-o matrice
similar A, de o form mai simpl, determinnd valorile proprii i
vectorii proprii ai matricii A; apoi, se determin vectorii proprii
ai lui A, cu relatia de mai sus.
*************************************************************************************
Polinomul caracteristic
Relaia (1) este ecuaia din care se gsesc i x. Aceasta se mai
scrie
(A I)x = 0
(2)unde I este matricea unitate. Explicit,
(2)Condiia ca (2) s aib soluii netriviale x, este det(A I) = 0 .
Explicit,
(3)p() se zice polinomul caracteristic al matricii A, i p() = 0
ecuaia caracteristic.
Fie determinantul dezvoltat:
p( ) = (1)nn + c1n1 + + cn1 + cn
(3)Din (3, 3') i relaiile ntre coeficieni i rdcini, rezult
urmtoarele proprieti ale coeficienilor i valorilor proprii:
1) Avem p(0) = cn, i din determinant p(0) = det(A); urmeazcn =
det(A)
Pe de alt parte, 12 n = cn, i astfel 12 n = det(A).
2) Coeficientul lui n1 se gsete din termenul
(a11 ) (ann ) =
Astfel, rezult:
;1 + 2 + + n = .
se zice urma matricii A).
3) n general:
ci = (1)ni Suma minorilor principali de ordinul i ai matricii
A.
Observaii1) Ordonarea valorilor proprii:
Valorile proprii se ordoneaz n irul 1, 2, , n. n acest ir, o
rdcin multipl de ordinul r, se repet de r ori. Uzual, valorile
proprii se indexeaz n ordinea descresctoare a modulului, adic |1|
|2| |n|. Valoarea proprie 1 se zice dominant. Mulimea valorilor
proprii se zice spectrul matricii A.
2) Vectorii proprii asociai unei valori proprii:
Dup determinarea valorilor proprii, vectorii proprii asociai cu
i se gsesc punnd = i n (2'), i rezolvnd sistemul liniar i omogen
(2').
Dac A este real: n general, i poate fi complex, i atunci
vectorul propriu xi asociat cu i este complex. Dac A i i sunt
reali, atunci vectorul propriu xi este real. Dac A este complex: n
general, valorile proprii i vectorii proprii sunt mrimi complexe. n
particular, unele dintre acestea pot fi i reale.Subspaiu propriu i
dimensiunea acestuia
Sistemul (2') este omogen, astfel c dac x, y sunt soluii, atunci
x + y sunt soluii.
Adic, lui i i este asociat un subspaiu liniar Si de soluii x. Se
arat c:
Dimensiunea subspatiului Si este mai mic dect sau egal cu
ordinul de multiplicitate a rdcinii i.Dac ri este ordinul de
multiplicitate a rdcinii i i pi dimensiunea lui Si, avem pi ri.
Adic, n Si exist cel mult ri vectori liniar independenti.
Dac pi < ri, valoarea i se zice defectiv; n acest caz, i
matricea A se zice defectiv. (ri se mai zice multiplicitate
algebric, iar pi multiplicitate geometric.)
3) Determinarea efectiv a sistemului propriu:
Pentru calculaia practic (n > 3 ), nu se recomand:
Calculul direct al valorilor proprii, prin rezolvarea ecuaiei
caracteristice (3').
Aceasta, datorit faptului c problema calculului rdcinilor unui
polinom este foarte sensibil la mici perturbaii n coeficieni
(aceste perturbaii apar din erorile de rotunjire).
Calculul direct al vectorilor proprii, din sistemul (2').
Metode numerice pentru gsirea valorilor proprii i, i a
vectorilor proprii asociati x(i), sunt prezentate n continuare.
Exemplul-1
Fie matricea:
Polinomul caracteristic este:
Sau cf. (3)
p() = 3 + c12 + c2 + c3 = 0, unde:
c3 = det(A) = 1 (1) 2 (2) + 3 (1) = 0
cl = (1)2(1 + 3 + 5) = 9
p() = 3 + 92 + 6 = 0
De unde:
= 0
2 9 6 = 0; = 0.623475383; 9.62347538
Ordonnd (descresctor, dup module):
l = 9.62347538
2 = 0.623475383
3 = 0
Vectorii proprii , i = 1, 2, 3 se determin din sistemul
omogen
,n care se nlocuiete = i .
De exemplu, vectorul propriu nr. 1 se gsete din sistemul:
Una dintre coordonate rmne arbitrar: s alegem de ex. xl = 1,
rezult2x2 + 3x3 = 8.62347538
4x2 4.62347538x3 = 3
Rezult (rezolvnd n simpl precizie):
Orice vector x(1) unde = real, face funcie de vector propriu nr.
1. Analog, se determin vectorii proprii nr. 2 si 3.
1.2. Matrici hermitiene i unitare
Operaia * aplicat unui vector sau unei matrici noteaz
transpus-conjugata. Astfel:
Dac x este un vector, .
Dac A, este o matrice, A* = .
Explicit: A = [aij], A* = [], avem: .
n expresiile anterioare, bara noteaz conjugata: ; .
Pentru un vector real, sau o matrice real, operatia * revine la
transpunere:
x* = xT;
A* = AT.
n particular, pentru un scalar, operaia revine la conjugare:
.Matrici hermitiene:
Matricea A se zice hermitian, dac A* = A.
Exemplu de matrice hermitian:
.Remarcai c elementele diagonale sunt reale, iar elementele
simetrice sunt conjugate.
O matrice real este hermitian, dac este simetric (AT = A).
O matrice hermitian se zice pozitiv definit, dac x 0 x*Ax > 0
(x* Ax este real).
n particular, o matrice real i simetric este pozitiv definit,
dac: x 0 xTAx > 0.Matrici unitare:
Matricea U se zice unitar, dac U*U = I , unde I este matricea
unitate;
echivalent, U1 = U*.
O matrice real este unitar dac UTU = I, sau U1 = UT (matrici
ortogonale). Valorile proprii ale unei matrici unitare au modulul
egal cu 1.
Exemplu de matrice unitar (real):
Matricea de rotatie a axelor n plan este unitar:
ntr-adevr, avem i se verific imediat c .Proprieti ale matricilor
hermitiene (n particular, reale i simetrice):
P1. Dac A este hermitian, i are valorile proprii {i} distincte
sau nu, atunci:
(a) Exist o matrice unitar U, astfel c U*AU este diagonal:
U*AU = diag(1, , n), (se zice c U diagonalizeaz pe A.)
(b) Exist n vectorii proprii liniar independenti care formeaz o
baz ortonormat n Cn (acetia sunt coloanele lui U);
(c) Valorile proprii sunt reale.
n particular, pentru A real i simetric:
(a-1) Exist U unitar i real, astfel c UTAU = diag(1, , n).
(b-1) Exist n vectorii proprii liniar independenti; acetia
formeaz o baz ortonormat n Rn (coloanele lui U);
(c-1) Valorile proprii sunt reale i vectorii proprii sunt reali
.
Avem i proprietatea:
P1'. Dac A este hermitian (real i simetric) i pozitiv definit,
atunci valorile proprii ale lui A sunt reale i pozitive .
1.3. Produs scalar i proprieti de ortogonalitate
1.3.1. Spaiu vectorial real VnFie x un vector din Vn, i x
matricea coloan a coordonatelor sale ntr-o baz a lui Vn (xi R,
).
Dac matricea A real, este simetric i pozitiv definit, se
definete produsul scalar n raport cu matricea A, prin:
A = xTAy = yTAxn particular, pentru A = I, acesta devine
produsul scalar standard:
= xTy = yTxAvem: A = A; = .
Vectorii x i y se zic ortogonali (relativ la produsul scalar),
dac A = 0, sau = 0 .
Astfel:
Vectorii x i y sunt ortogonali relativ la matricea A, dac xTAy =
0, sau yTAx = 0.
Vectorii sunt ortogonali, dac xTy = 0 , sau yTx = 0.
1.3.2. Spaiu vectorial complex VnFie x un vector din Vn, i x
matricea coloan a coordonatelor ntr-o baz a lui Vn (xi C, ).
Dac A este o matrice hermitian i pozitiv definit, se definete
produsul scalar n raport cu matricea A, prin:
A = xTA = y*ATx. (Ultima egalitate rezult din aceea c scalarul
su s =A este egal cu transpusul su).
Produsul scalar definit de A = I este:
= xT = y*xAvem: i .
Ortogonalitatea a doi vectori se definete ca nainte, prin
conditia A = 0, sau = 0.
Observaie: Dac avem A = 0, avem i A = 0.
Astfel:
Vectorii x, y sunt ortogonali n raport cu A, dac:
xTA = 0, sau y*ATx = 0.
Vectorii x, y sunt ortogonali,dac:
xT = 0, sau y*x = 0.
P2. Dac A este hermitian, atunci:
Vectorii proprii asociati la dou valori proprii distincte sunt
ortogonali:
dac 1 2, atunci i . Avem i: .
(Dac A hermitian este i pozitiv definit, vectorii x1, x2 sunt
ortogonali relativ la matricea AT.)
Dac A este real i simetric:
Vectorii proprii asociati la dou valori proprii distincte sunt
ortogonali:
Avem i: .
(Dac A real i simetric, este i pozitiv definit, vectorii x1, x2
sunt ortogonali relativ la matricea A).1.4. Ctul Rayleigh
Fie A o matrice n n complex (sau real). Fie v Cn un vector
arbitrar, i definim
(v) se numete ctul Rayleigh.
Proprietatea-1:
Dac x este vector propriu asociat cu , atunci (x) = .
Astfel, ctul Rayleigh poate fi utilizat pentru a gsi o
aproximare a valorii proprii , dac se cunoate o aproximare v a
vectorului propriu x: v x (v).
Proprietatea-2:
Dac matricea este hermitian, ctul Rayleigh este mrginit de
valorile proprii extreme.
Valorile proprii sunt reale; fie acestea 1 2 n, atunci, avem:n
(v) 1, pentru orice v
Cn.*****************************************************************************2.
Metoda puterii
2.1. Metoda puterii
Metoda puterii determin valoarea proprie dominant i vectorul
propriu asociat, ale unei matrici A, reale sau complexe.
Aplicat la inversa A1 metoda determin valoarea proprie cea mai
mic (n modul), i vectorul propriu asociat cu aceasta. Aceasta,
conform propriettii:
Matricea A1 are ca valori proprii inversele valorilor proprii
ale lui A i aceiai vectori proprii.
ntr-adevr: din Ax = x, nmultind la stnga cu A1, rezult x = A1x,
sau . Explicit: A : {1, , n}; A1 : {1, , n}. Avem:
.Ipotezele metodei puterii:
Exist un set de n vectori proprii liniar independeni.
Exist o singur valoare proprie dominant 1:
|1| > |2| |n|.
(Remarcati c prima inegalitate este strict!)
Metoda:
Fie w(0) un vector iniial, ales arbitrar cu singura condiie ca s
aib o component n direcia lui x(1). Pentru a ndeplini aceast cerin,
unele coduri genereaz un vector aleator. (n fapt, w(0) este o
aproximaie a vectorului propriu x(1); dac o astfel de aproximaie
este cunoscut, atunci aceasta accelereaz iteraia de mai jos).
Dezvoltm
(a)Presupunem c a1 0 (condiia de mai sus), i formm irul de
vectori
w(k+1) = Aw(k) = Ak+1w(0), k 0
Avem:
w(1) = Aw(0) = 1a1x(1) + 2a2x(2) + + nanx(n) =
n general,
(b)Cum |1| > |i| pentru i 2, urmeaz c rapoartele (i / 1) tind
la 0 pentru k . Astfel, pentru k cresctor, vectorii w(k) se aliniaz
din ce n ce mai mult la direcia vectorului propriu x(1). n
consecint, pentru un k suficient de mare, avem
w(k) (1)ka1x(1).
S considerm de asemenea relaia w(k+1) (1)k +1a1x(1). Lund orice
coordonat non-zero a lui w(k+1), w(k), s zicem cea de-a m-a
coordonat, obinem
.Dezavantajul formulei precedente este c, coordonatele nenule
ale lui w(k) devin fie foarte mici (|1| < 1), fie foarte mari
(|1| > 1), odat cu creterea lui k. Aceasta se evit prin
normalizarea (sau scalarea) lui w(k), la fiecare pas k. Normele
utilizate sunt norma- i norma-2.
Astfel, algoritmul metodei este:
w(0) = Vector initial
, pentru k 0 Normalizare
, pentru k 0 IteraieTeste de oprire a iteratiei
1. Test de coliniaritate a doi vectori succesivi.
Vectorii z(k) i z(k+1) sunt coliniari, dac rapoartele sunt egale
(coordonatele nenule sunt proporionale), sau . n practic, punem
condiia |(i) (i0)| TOL, dac ; sau, s avem simultan, i . TOL este o
toleran specificat; i0 este indicele unei coordonate fixate: este
convenabil s lum i0 = imax = indicele coordonatei de modul maxim
din z(k+1).
Se introduc atunci, factorii de coliniaritate prin vectorul
colin(1 : n), definit astfel:
.
Testul este:
||colin colin(imax)|| TOL.Aceasta nseamn s avem , (pentru
).Observaie:Test pentru norma-2 (euclidian):
Dac, pentru normalizarea lui w(k), se utilizeaz norma-2,
vectorii z(k) au norma-2 egal cu 1, i testul de coliniaritate poate
lua forma||z(k+1) z(k)|| TOL.
O problem special apare pentru A real, dac valoarea proprie
dominant este real i negativ, 1 < 0, i anume: din w(k) =
A(k)z(0) = (1)k[a1x(1) + r(k)] i z(k) = w(k) / ||w(k)||, rezult c
vectorul z(k) schimb de semn de la pasul k la pasul k + 1.
(Valoarea proprie, dat de , nu este afectat.).
Testul de coliniaritate trebuie s in cont de aceasta. Astfel,
definim,
Testul corect este
||dz||2 TOL.
2. Test asupra lui :
Iteraia se oprete prin condiia
unde TOL este o toleran.
3. Test de satisfacere a relaiei de definiie:
||Az z|| TOLPractic, z = z(k), Az(k) = w(k+1), i = (k+1).
Definind
dif = w(k +1) (k +1)z(k),
se pune testul
|| dif || TOLObservaii:
n cod, dac valorile anterioare (k) sunt stocate n z0 i lambda0,
iar valorile curente (k+1) n z i lambda, definiia lui dif
devine
dif = z lambda*z0,
lund z nainte de normalizare.
Vectorul r = Az z se zice vectorul rezidual. Astfel, testul se
mai scrie
|| r || TOL.
Note Testul propriu pentru metod este Testul 1, ntruct, n esen,
metoda determin vectorul propriu nr. 1 i apoi determin 1 din
acesta. Cu Testul 1, se obin vectori proprii mai precii dect cu
Testul 2 (la aceeai toleran).
Testul 3 nu este specific metodei puterii, ci poate fi aplicat
oricrei metode iterative pentru valori i vectori proprii. Codurile
din Lapack (Bai et al.(2000)), utilizeaz Testul 3, cu TOL = M||,
unde M este -main.
(n metodele din ANA: Testul 3 va fi utilizat numai la
verificarea sistemului propriu. Face excepie metoda puterii, unde
pentru studiu, se poate alege unul din Testele 1 3; alegerea se
face printr-un cod.)
Convergena:
Convergena este liniar, iar rata convergenei este aproximativ |2
/ 1|.
(Acest rezultat are loc n ipoteza metodei |1| > |2|, cu
ipoteza suplimentar: pentru k k1, cantitile (i / 2)k, i 3, sunt
neglijabile n raport cu (2 / 1)k).2.2. Metoda puterii inverse cu
translaie (shift)
Fie matricea A, cu valorile proprii j, j = 1, n. Metoda gsete
valoarea proprie i a lui A, cea mai apropiat de un numr dat s;
adic, |i s| = minim.
Se consider matricea
B = A sIi presupunem c B este nesingular. Se verific imediat c
valorile proprii ale lui B sunt j = j s. Cantitatea s zice
deplasare sau translaie (shift).
Fie i = i s, valoarea proprie de modul minim a lui B, adic:
0 < |i| < < |j|, pentru j i.
Atunci, metoda puterii aplicat lui B1 produce valoarea proprie
de modul maxim, fie aceasta i = 1 / i (i este valoarea dominant
pentru B1). Avem i = 1 / i, i .Principala aplicaie a metodei este
de a gsi vectorul propriu, dac este cunoscut o aproximaie bun a
valorii proprii, s zicem . (Aceasta poate fi furnizat de o metod n
care se determin numai valorile proprii nu i vectorii proprii.)
Se aplic metoda puterii inverse, cu deplasarea s = . Chiar dac
este apropiat de (i, matricea B = A I este nc nesingular, i se
obine o bun aproximaie a vectorului propriu x(i).
Metoda iteraiei inverse cu deplasare, este una dintre cele mai
precise metode pentru calculul vectorilor proprii.
Algoritmul practic, este urmtorul:
Iteraia din metoda puterii, aplicat la matricea B1, este
w(k+1) = B1z(k).
n loc de a inversa B, calculm w(k+1) din sistemul liniar
Bw(k+1) = z(k),
prin descompunere LU. Factorizarea se face o singur dat, i
sistemul se rezolv succesiv cu membrii drepi z(k), k 0.
2.3. Metoda iteraiilor simultane matrice hermitian.
Aceasta este o extindere a metodei puterii pentru o matrice A
hermitian (n particular, real i simetric). O astfel de matrice, are
valori proprii reale.
Presupunem, mai mult, c valorile proprii sunt de module
distincte:
|(1| > |(2| > > |(n|.
n loc de un vector de start w(0), se utilizeaz o matrice de
start , ale crei coloane sunt vectorii de start: W(0) = [w(0,1) |
w(0,2) | | w(0,m)].
Dac matricea A este n n, W(0) este n m, unde m n. Vectorii de
start w(0,j) trebuie s fie liniar independeni. Metoda de baz rmne
nmulirea la stnga a lui W(0) cu matricea A, adic, W(k+1) = AW(k), k
0 . nainte de fiecare etap a iteraiei, matricea curent W este
ortogonalizat prin procedeul Gram-Schmidt, astfel nct coloanele ei
w(j) devin vectori ortonormai (ortogonali, i avnd norma euclidian
unitar). Astfel, vectorii w(j) formeaz o baz ortonormat a
sub-spaiului m-dimensional al lui Rn, sub-ntins de vectorii iniiali
w(0,j). n cursul iteraiei, aceast baz se aliniaz din ce n ce mai
mult la baza vectorilor proprii ai lui A, direcia w(j) direcia
x(j), j 1. Valorile proprii se evalueaz prin ctul Rayleigh.
Iteraia se ncheie cnd se atinge o toleran convenabil, privitor
la direciile a dou baze succesive {w(j)}. Dac matricea de start
W(0) are m < n coloane, se obin primii m vectori proprii. Pentru
m = n, adic W(0) este n n, se gsesc toi vectorii proprii.
Algoritmul:
Se cere un numr ne n de vectori proprii. W(0) i W sunt matrici n
ne.
1. Se definete matricea W(0): dac o aproximare iniial a
vectorilor proprii nu este cunoscut, se ia W(0) = [e(1) | e(2) | |
e(ne)], adic, W(0) este format din primele ne coloane ale matricii
unitate I. Pentru ne = n, W(0) = I.
2. Se aplic Gram-Schmidt la W(0) (cu excepia cazului n care
aceasta este deja ortonormat). Se atribuie W = W(0).
3. Iniializare contor: iter = 0
4. Iteraii: iter = iter +1;
Atribuire: W(0) = W (W = matricea curent; W(0) = matricea
anterioar.)
5. Se calculeaz W = AW(0).
6. Se calculeaz (j, j = , prin ctul Rayleigh:
Fie w(j) i w(0,j) a j-a coloan a lui W i W(0), respectiv;
avem
(j =
(w(j) = Aw(0,j) Pasul 5; i = 1 Paii 2 i 4).7. Se aplic
Gram-Schmidt la W, astfel c W devine ortonormat.
8. Se verific atingerea toleranei TOL:
Prin testul de coliniaritate 1.3, 1: se definete colin(n) pentru
fiecare vector z = W((,je), i test_val =
(ntruct z sunt normalizati, testul se poate pune i sub forma din
1, Observaie.)
- Dac ||test_val|| TOL, ieire din iteraie.
- Altfel, G0T0 4.
Observaii( Se poate prescrie un numr limit de iteraii lnit:
atunci, se adaug la Pasul 8 un test iter lnit.
( Pasul 6 se poate realiza numai o singur dat, dup ce s-a ieit
din iteraie.
Observaii1. Valori proprii de acelai modulntruct metoda
iteraiilor simultane este n esen metoda puterii, nu se obine
convergen pentru vectorii proprii, dac exist valori proprii de
modul egal.
2. Matrici non-hermitieneDac aplicm algoritmul de mai sus unei
matrici non-hermitiene, nu vom obine convergen pentru vectorii
proprii, cu excepia vectorului propriu corespunznd valorii
dominante (1 (pentru care, metoda revine la metoda puterii).
Aceasta se ntmpl deoarece ipoteza esenial a metodei este c vectorii
proprii formeaz o baz ortogonal i procedeul Gram-Schmidt foreaz ca,
la fiecare pas k, vectorii w(k,j) s fie ortogonali.
Totui, dac valorile proprii sunt de module distincte, atunci
vectorii proprii sunt liniar independeni, i se obin aproximaii
foarte bune pentru valorile proprii. Explicaia este c, procedeul
Gram-Schmidt furnizeaz un set de vectori {w(j)} liniar independeni
(ortonormai), iar valorile proprii sunt calculate cu ctul Rayleigh
care d aproximaii bune ale valorilor proprii chiar cu aproximaii
grosiere pentru vectorii proprii.
Valorile proprii gsite pot fi utilizate ulterior, n metoda
puterii inverse cu translaie, pentru a obine vectorii proprii
pentru valorile (i, i 2.
3. Metoda Jacobi matrice real simetricMetoda:
Metoda Jacobi este o metod convenabil pentru a gsi toate
valorile proprii i vectorii proprii ai unei matrici reale i
simetrice, de ordin moderat. Determinarea vectorilor proprii este
opional.
Fie A o matrice real i simetric. Dac N este o matrice
nesingular, atunci matricea este similar cu A, i are aceleai valori
proprii (bara nu noteaz acum conjugata). Vectorii proprii x ai lui
A, sunt legai de vectorii proprii x ai lui A, prin: . (Propozitia
din 1.1).
S presupunem acum, c N este unitar, adic N1 = NT. Matricea
devine .Notai c A este de asemenea simetric.
Diagonalizarea lui A:
S presupunem c N este aleas astfel nct s devin diagonal:
= NTAN = diag()
Pentru matricea , avem proprietile:
( Valorile proprii ale lui sunt elementele diagonale:
( Vectorii proprii ai lui sunt coloanele matricii unitate I:
(unde ).n consecin, rezult pentru A:
( Valorile proprii ale lui A se gsesc pe diagonala matricii
.
( Vectorii proprii ai lui A sunt coloanele matricii N.
Exemplu:
Diagonalizarea Jacobi:
Metoda Jacobi const n transformri unitare (sau, ortogonale)
aplicate succesiv lui A, pn la obinerea unei forme aproape
diagonale. Anume, dac Ni sunt matrici unitare, matricea A se
transform cum urmeaz:
Dac matricea este aproape diagonal, adic elementele
non-diagonale sunt aproximativ zero, lum
unde N = N1N2 Nk.Fiecare transformare Ni se alege astfel ca s
elimine o pereche de elemente non-diagonale (s zicem apq i aqp la
pasul i). O astfel de matrice are structura:
Elementele nescrise sunt zero (cu excepia diagonalei principale
unde acestea sunt unu).
Transformrile Ni se aplic succesiv, fiecare dintre ele eliminnd
elementul non-diagonal apq, de modul maxim. Principala proprietate
a unei astfel de transformri este c produsul modific numai
elementele lui A din liniile i coloanele p i q.Unghiul se alege
astfel nct
Noile elemente diagonale, sunt date de formulele:
;
;
Observai( Transformrile Ni se aplic succesiv, fiecare dintre ele
eliminnd elementul non-diagonal de mrime maxim.
( Elementele reduse la zero ntr-o transformare nu rmn zero la
transformarea urmtoare. Dar, se poate arta c fiecare transformare
reduce suma de ptrate a elementelor non-diagonale cu , adic, .
Atfel, dup un anumit numr de transformri, aceast sum poate fi fcut
mai mic dect o toleran aleas dinainte. Pentru alte detalii, v. Cap.
5 ( II, 2
Consideraii de programare
Stocajul matricii:
Se lucreaz cu triunghiul superior al lui A, astfel nct, dup
diagonalizarea lui A, elementul (1, 1) contine (1, etc. Triunghiul
superior este stocat n vectorul a(n*(n+1)/2), n ordinea coloanelor,
adic:
a = [a11 | a12 a22 | a13 a23 a33 | | a1n a2n ann]
Adresa elementului (i, j) este dat de urmtoarea funcie:
Loca(i, j) = (j 1)*j / 2 + in particular, elementul diagonal (i,
i) are adresa Loca(i, i) = (i + 1)*i / 2. Dup ce s-a efectuat o
transformare, matricea curent A este stocat n acelai vector
a.Strategia de eliminare
Aceasta este cutarea complet, adic: se caut n toat matricea A
(concret, n vectorul a), elementul non-diagonal de modul maxim.
(Pentru alte strategii, v. Numerical Analysis, Cap. 5 ( II, 2.)
Elementele non-diagonale se consider zero, dac sunt mai mici (n
modul) dect o toleran TOL.
_1318140271.unknown
_1318144737.unknown
_1318145573.unknown
_1318232030.unknown
_1318234979.unknown
_1318235758.unknown
_1318236220.unknown
_1318236342.unknown
_1318236447.unknown
_1318237213.bin
_1318236423.unknown
_1318236262.unknown
_1318236328.unknown
_1318236138.unknown
_1318236178.unknown
_1318236053.unknown
_1318235379.unknown
_1318235556.unknown
_1318235589.unknown
_1318235452.unknown
_1318235100.unknown
_1318235347.unknown
_1318235007.unknown
_1318234588.unknown
_1318234665.unknown
_1318234842.unknown
_1318234901.unknown
_1318234753.unknown
_1318234807.unknown
_1318234650.unknown
_1318233919.unknown
_1318234521.unknown
_1318233578.unknown
_1318148022.unknown
_1318149344.unknown
_1318231969.unknown
_1318148689.unknown
_1318146065.unknown
_1318147851.unknown
_1318145634.unknown
_1318145112.unknown
_1318145458.unknown
_1318145481.unknown
_1318145136.unknown
_1318144944.unknown
_1318145096.unknown
_1318144850.unknown
_1318141169.unknown
_1318142469.unknown
_1318143885.unknown
_1318144673.unknown
_1318142560.unknown
_1318141791.unknown
_1318142097.unknown
_1318141687.unknown
_1318140787.unknown
_1318140975.unknown
_1318141057.unknown
_1318140816.unknown
_1318140533.unknown
_1318140786.unknown
_1318140439.unknown
_1318057301.unknown
_1318058112.unknown
_1318139960.unknown
_1318140194.unknown
_1318140224.unknown
_1318140049.unknown
_1318058237.unknown
_1318139458.unknown
_1318058178.unknown
_1318057529.unknown
_1318057658.unknown
_1318057723.unknown
_1318057570.unknown
_1318057436.unknown
_1318057473.unknown
_1318057383.unknown
_1318056228.unknown
_1318056824.unknown
_1318056991.unknown
_1318057171.unknown
_1318056901.unknown
_1318056542.unknown
_1318056728.unknown
_1318056285.unknown
_1318055070.unknown
_1318055178.unknown
_1318055458.unknown
_1318055132.unknown
_1318054304.unknown
_1318054905.unknown
_1302591943.unknown
_1318054086.unknown
_1301384659.unknown
_1300267613.unknown