Matriz de bloques

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 25 de abril de 2019; las comprobaciones requieren 3 ediciones .

Matriz de bloque (celda)  - representación de la matriz , en la que se corta por líneas verticales y horizontales en partes rectangulares - bloques ( celdas ):

,

donde el bloque tiene tamaño para y

Ejemplo

Tamaño de matriz 4×4

se puede representar como una matriz de bloques de cuatro bloques de 2x2 cada uno.

En la siguiente definición de bloque

La matriz de bloques se puede escribir de la siguiente manera:

Operaciones

Formalmente, las operaciones con matrices de bloques se realizan de acuerdo con las mismas reglas que si se tratara de elementos numéricos en lugar de bloques. Para la viabilidad de las operaciones, es necesaria una correspondencia adecuada de los tamaños de los bloques. Por ejemplo, al multiplicar matrices de bloques, se requiere que las dimensiones horizontales de los bloques del primer factor coincidan con las dimensiones verticales correspondientes del segundo factor [1] .

Suma directa

La suma directa de dos matrices cuadradas y tamaños y se define como una matriz de bloque de la siguiente forma:

donde denota el bloque cero (matriz de tipo cero arriba y abajo). Esta operación no es conmutativa sino asociativa [2] .

Tipos de matrices de bloques

Muchos tipos de matrices se pueden representar en forma de bloque. En este caso, al nombre se le añade el prefijo bloque o bloque, y las operaciones sobre elementos se transforman en operaciones sobre bloques.

Matriz de bloque diagonal (cuasi-diagonal)

Para una matriz de bloques diagonales , todos los bloques, excepto los ubicados en la diagonal principal, son matrices cero.

La matriz parece

donde cada elemento es una matriz distinta de cero.

El determinante de una matriz cuasidiagonal cuadrada es igual al producto de los determinantes de las celdas diagonales.

Matriz cuasi-triangular

Cuasi-triangular es una matriz cuadrada de bloques cuyos bloques están en (o ):

.

El determinante de una matriz cuasi-triangular es igual al producto de los determinantes de los bloques diagonales. Es fácil ver que una matriz de bloques diagonales es un caso especial de una cuasi-triangular [3] .

Bloque matriz tridiagonal

Véase también matriz tridiagonal .

Matriz de bloque Toeplitz

Véase también matriz de Toeplitz .

Multiplicación por bloques de matrices

Para aumentar la eficiencia del uso de la memoria caché de la CPU , existe un algoritmo para la multiplicación de matriz de bloques

,

en la que la matriz resultante

se forma bloque a bloque utilizando la conocida fórmula

o sus análogos más rápidos, y el tamaño de los datos procesados ​​en cada iteración no excede la capacidad de la memoria caché. El tamaño del bloque depende directamente de la arquitectura del sistema informático y determina el tiempo de ejecución de la multiplicación [4] . Se utiliza un enfoque similar en la multiplicación de matrices basada en GPU con optimización del uso limitado de memoria compartida [5] [6] .

Fórmulas

Fórmula de Frobenius

Para invertir una matriz de bloques no degenerados, se puede utilizar la fórmula de Frobenius :

donde  es una matriz cuadrada no singular de tamaño ,  es una matriz cuadrada de tamaño y .

Esta fórmula nos permite reducir la inversión de la matriz de tamaño a la inversión de dos matrices más pequeñas y las operaciones de multiplicación y suma de matrices de tamaño , , , [7] .

Notas

  1. Gantmakher, 2004 , pág. 53-54.
  2. Ilyin, Poznyak, 2007 , pág. Dieciocho.
  3. Gantmakher, 2004 , pág. 55.
  4. Vatutin E.I., Martynov I.A., Titov V.S.   Evaluación del rendimiento real de los procesadores modernos en el problema de la multiplicación de matrices para una implementación de software de un solo subproceso. Archivado el 11 de enero de 2015 en Wayback Machine // Actas de la Southwestern State University . Serie: Gestión, informática, informática. Instrumentación médica. 2013. Nº 4. - S. 11-20.
  5. Vatutin E. I., Martynov I. A., Titov V. S.   Estimation of the real performance of modern video cards with CUDA technology support in the problem of matrix multiplication Archivado el 11 de enero de 2015 en Wayback Machine // Proceedings of the Southwestern State University . Serie: Gestión, informática, informática. Instrumentación médica. 2014. Nº 2. - S. 8-17.
  6. ↑ Cómputo paralelo en la GPU. Arquitectura y modelo de software de CUDA / Boreskov A. V., Kharlamov A. A. Markovsky N. D. et al. - M . : Izd-vo Mosk. un-ta, 2012. - 336 p.
  7. Gantmakher, 2004 , pág. 57-58.

Literatura