10.07.2015 Views

Calcul matriceal elementar

Calcul matriceal elementar

Calcul matriceal elementar

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.4. PROBLEME REZOLVATE 13Algoritmul 1.5 (Gram-Schmidt) Fiind daţi vectorii liniar independenţi b j , j =1 : p, algoritmul calculează un set de p vectori ortogonali q j , j = 1 : p careformează o bază ortogonală a subspaţiului generat de vectorii b j , j = 1 : p.1. pentru k = 1 : n1. q 1 (k) = b 1 (k)2. pentru j = 1 : p − 11. β j = 02. pentru k = 1 : n1. β j = β j + q j (k) ∗ q j (k)2. q j+1 (k) = b j+1 (k)3. pentru i = 1 : j1. α ij = 02. pentru k = 1 : n1. α ij = α ij + q i (k) ∗ b j+1 (k)3. α ij = −α ij /β i4. pentru k = 1 : n1. q j+1 (k) = q j+1 (k) + α ij q i (k)Observaţi că algoritmul Gram-Schmidt conţine multe operaţii vector-vector cum suntprodusele SAXPY şi DOT, implementate profesional la nivelul 1 BLAS.La curs vom prezenta un algortitm mai bun pentru rezovarea aceleiaşi probleme.Problema 4. Fie o matrice A ∈ IR m×n , un vector b ∈ IR n şi un vector c ∈ IR m , toatedate. Scrieţi un algoritm eficient care să calculeze c ← c + A ∗ b. (Daca iniţial c = 0, atunciaceasta este o problemă de înmultire matrice-vector c = A ∗ b).Soluţie. Vom da doi algoritmi: primul bazat pe algoritmul DOT de calcul al produsuluiscalar a doi vectori (un algortim orientat pe linii) şi un al doilea bazat pe SAXPY (unalgoritm orientat pe coloane). Pentru primul algoritm vom partiţiona matricea A pe linii şivom folosi formulan∑c(i) ← c(i) + A(i, :) ∗ b = c(i) + a ij b j , i = 1 : m.j=1Algoritmul, numit versiunea (i, j) a lui GAXPY, este:Algoritmul 1.6 GAXPY pe linii: Fiind dată o matrice A ∈ IR m×n şi vectoriib ∈ IR n şi c ∈ IR m , algoritmul calculează c ← c + A ∗ b1. pentru i = 1 : m1. pentru j = 1 : n1. c i = c i + a ij ∗ b jPentru al doilea algoritm vom partiţiona matricea A pe coloane şi vom folosi formulan∑c ← c + A :,j b j .j=1Algoritmul, numit versiunea (j, i) a lui GAXPY, este:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!