Bloková matice

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. dubna 2019; kontroly vyžadují 3 úpravy .

Bloková (buňková) matice  - znázornění matice , ve které je rozřezána svislými a vodorovnými čarami na obdélníkové části - bloky ( buňky ):

,

kde blok má velikost pro a

Příklad

Velikost matrice 4×4

může být reprezentován jako bloková matice se čtyřmi bloky 2x2 každý.

Při další definici bloku

Blokovou matici lze zapsat následovně:

Operace

Formálně se operace s blokovými maticemi provádějí podle stejných pravidel, jako kdyby byly místo bloků číselné prvky. Pro proveditelnost operací je nutné vhodné sladění velikostí bloků. Například při násobení blokových matic je požadováno, aby se horizontální rozměry bloků prvního faktoru shodovaly s odpovídajícími vertikálními rozměry druhého faktoru [1] .

Přímý součet

Přímý součet dvou čtvercových matic a velikostí a je definován jako bloková matice následujícího tvaru:

kde označuje nulový blok (matice nulového typu nahoře a dole). Tato operace je nekomutativní , ale asociativní [2] .

Typy blokových matic

Mnoho typů matic může být reprezentováno v blokové formě. V tomto případě se k názvu přidá blok nebo blok předpony a operace s prvky se transformují na operace s bloky.

Blokově-diagonální (kvazi-diagonální) matice

U blokově diagonální matice jsou všechny bloky, kromě těch, které se nacházejí na hlavní diagonále, nulové matice.

Matrix vypadá

kde každý prvek je nenulová matice.

Determinant čtvercové kvazidiagonální matice se rovná součinu determinantů diagonálních buněk.

Kvazitrojúhelníková matice

Kvazitrojúhelníková je bloková čtvercová matice, jejíž bloky jsou na (nebo ):

.

Determinant kvazitrojúhelníkové matice se rovná součinu determinantů diagonálních bloků. Je snadné vidět, že blokově diagonální matice je speciálním případem kvazitrojúhelníkové [3] .

Bloková tridiagonální matice

Viz také tridiagonální matice .

Bloková matice Toeplitz

Viz také Toeplitzova matice .

Blokové násobení matic

Aby se zvýšila efektivita používání vyrovnávací paměti CPU , existuje algoritmus pro násobení matice bloků

,

ve kterém je výsledná matice

se tvoří blok po bloku pomocí známého vzorce

nebo jeho rychlejší analogy a velikost zpracovávaných dat při každé iteraci nepřesahuje kapacitu vyrovnávací paměti. Velikost bloku přímo závisí na architektuře výpočetního systému a určuje dobu provádění násobení [4] . Podobný přístup se používá při násobení matic na GPU s optimalizací omezeného využití sdílené paměti [5] [6] .

Vzorce

Frobeniův vzorec

K invertování nedegenerované blokové matice lze použít Frobeniusův vzorec :

kde  je nesingulární čtvercová matice velikosti ,  je čtvercová matice velikosti a .

Tento vzorec nám umožňuje redukovat inverzi matice velikostí na inverzi dvou menších matic a operace násobení a sčítání matic velikostí , , , [7] .

Poznámky

  1. Gantmakher, 2004 , str. 53-54.
  2. Ilyin, Poznyak, 2007 , str. osmnáct.
  3. Gantmakher, 2004 , str. 55.
  4. Vatutin E.I., Martynov I.A., Titov V.S.   Hodnocení skutečného výkonu moderních procesorů v problému násobení matic pro implementaci jednovláknového softwaru Archivováno 11. ledna 2015 na Wayback Machine // Proceedings of the Southwestern State University . Řada: Management, výpočetní technika, informatika. Lékařské přístroje. 2013. č. 4. - S. 11-20.
  5. Vatutin E. I., Martynov I. A., Titov V. S.   Odhad skutečného výkonu moderních grafických karet s podporou technologie CUDA v problému násobení matic Archivováno 11. ledna 2015 na Wayback Machine // Proceedings of the Southwestern State University . Řada: Management, výpočetní technika, informatika. Lékařské přístroje. 2014. č. 2. - S. 8-17.
  6. Paralelní výpočet na GPU. Architektura a softwarový model CUDA / Boreskov A. V., Kharlamov A. A. Markovsky N. D. et al. - M . : Izd-vo Mosk. un-ta, 2012. - 336 s.
  7. Gantmakher, 2004 , str. 57-58.

Literatura