Matricea blocurilor

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 25 aprilie 2019; verificările necesită 3 modificări .

Matricea bloc (celulă)  - reprezentare a matricei , în care este tăiată prin linii verticale și orizontale în părți dreptunghiulare - blocuri ( celule ):

,

unde blocul are dimensiunea pentru și

Exemplu

Dimensiunea matricei 4×4

poate fi reprezentat ca o matrice de blocuri de patru blocuri 2x2 fiecare.

La următoarea definiție a blocului

Matricea blocurilor poate fi scrisă după cum urmează:

Operațiuni

Formal, operațiunile cu matrice bloc se efectuează după aceleași reguli ca și cum ar fi elemente numerice în loc de blocuri. Pentru fezabilitatea operațiunilor, este necesară o potrivire adecvată a dimensiunilor blocurilor. De exemplu, la înmulțirea matricelor de bloc, este necesar ca dimensiunile orizontale ale blocurilor primului factor să coincidă cu dimensiunile verticale corespunzătoare ale celui de-al doilea factor [1] .

Sumă directă

Suma directă a două matrici pătrate și dimensiuni și este definită ca o matrice bloc de următoarea formă:

unde denotă blocul zero (matricea de tip zero deasupra și dedesubt). Această operație este necomutativă , dar asociativă [2] .

Tipuri de matrici de bloc

Multe tipuri de matrice pot fi reprezentate sub formă de bloc. În acest caz, la nume se adaugă blocul sau blocul de prefix, iar operațiile pe elemente sunt transformate în operațiuni pe blocuri.

Matrice bloc-diagonală (cvasi-diagonală)

Pentru o matrice bloc-diagonală , toate blocurile, cu excepția celor situate pe diagonala principală, sunt matrice zero.

Matricea arată ca

unde fiecare element este o matrice diferită de zero.

Determinantul unei matrice cvasidiagonale pătrate este egal cu produsul determinanților celulelor diagonale.

Matrice cvasi-triunghiulară

Cvasi-triunghiulară este o matrice pătrată de bloc ale cărei blocuri sunt la (sau ):

.

Determinantul unei matrici cvasi-triunghiulare este egal cu produsul determinanților blocurilor diagonale. Este ușor de observat că o matrice bloc-diagonală este un caz special al unei matrice cvasi-triunghiulare [3] .

Bloc matrice tridiagonală

Vezi și matrice triagonală .

Blocați matricea Toeplitz

Vezi și matricea Toeplitz .

Înmulțirea în bloc a matricelor

Pentru a crește eficiența utilizării memoriei cache a CPU , există un algoritm pentru multiplicarea matricei de bloc

,

în care matricea rezultată

se formează bloc cu bloc folosind formula binecunoscută

sau analogii săi mai rapidi, iar dimensiunea datelor procesate la fiecare iterație nu depășește capacitatea memoriei cache. Mărimea blocului depinde direct de arhitectura sistemului de calcul și determină timpul de execuție al înmulțirii [4] . O abordare similară este utilizată în multiplicarea matricei bazată pe GPU cu optimizarea utilizării limitate a memoriei partajate [5] [6] .

Formule

Formula Frobenius

Pentru a inversa o matrice bloc nedegenerată, se poate folosi formula Frobenius :

unde  este o matrice pătrată nesingulară de dimensiune ,  este o matrice pătrată de dimensiune și .

Această formulă ne permite să reducem inversarea matricei de mărime la inversarea a două matrici mai mici și și operațiile de înmulțire și adunare a matricelor de dimensiuni , , , [7] .

Note

  1. Gantmakher, 2004 , p. 53-54.
  2. Ilyin, Poznyak, 2007 , p. optsprezece.
  3. Gantmakher, 2004 , p. 55.
  4. Vatutin E.I., Martynov I.A., Titov V.S.   Evaluarea performanței reale a procesoarelor moderne în problema înmulțirii matricei pentru o implementare software cu un singur thread Arhivat 11 ianuarie 2015 la Wayback Machine // Proceedings of the Southwestern State University . Seria: Management, tehnologie informatică, informatică. Instrumente medicale. 2013. Nr 4. - S. 11-20.
  5. Vatutin E. I., Martynov I. A., Titov V. S.   Estimarea performanței reale a plăcilor video moderne cu suport de tehnologie CUDA în problema înmulțirii matricelor Arhivat 11 ianuarie 2015 la Wayback Machine // Proceedings of the Southwestern State University . Seria: Management, tehnologie informatică, informatică. Instrumente medicale. 2014. Nr 2. - S. 8-17.
  6. Calcul paralel pe GPU. Arhitectura și modelul software al CUDA / Boreskov A. V., Kharlamov A. A. Markovsky N. D. și colab. - M. : Izd-vo Mosk. un-ta, 2012. - 336 p.
  7. Gantmakher, 2004 , p. 57-58.

Literatură