Matriz por bloques
# Matriz por bloques

En matemáticas, una matriz por bloques o una matriz particionada es una matriz interpretada, caracterizada por estar dividida en secciones llamadas bloques o submatrices. Intuitivamente, una matriz interpretada como una matriz por bloques se puede visualizar como la matriz original con una colección de líneas horizontales y verticales que la dividen, o particionan, en una colección de matrices más pequeñas. Cualquier matriz se puede interpretar como una matriz por bloques de una o más formas, con cada interpretación definida por la forma en que se dividen sus filas y columnas.

Esta noción se puede hacer más precisa mediante una matriz $M$ de dimensión $n$ por $m$, subdividiendo $n$ en una colección de ${\text{rowgroups}}$ y luego subdividiendo $m$ en una colección de ${\text{colgroups}}$. La matriz original se considera entonces como el total de estos grupos, en el sentido de que la entrada $(i,j)$ de la matriz original corresponde uno a uno con alguna entrada $(s,t)$ desplazada con respecto a algún $(x,y)$, donde $x\in {\text{grupo de filas}}$ e $y\in {\text{grupo de columnas}}$.

El álgebra matricial por bloques surge en general de biproductos en categorías de matrices.

## Ejemplo

La matriz

    $\mathbf {P} ={\begin{bmatrix}1&2&2&7\\1&5&6&2\\3&3&4&5\\3&3&6&7\end{bmatrix}}$

se puede dividir en cuatro bloques de 2 × 2

    $\mathbf {P} _{11}={\begin{bmatrix}1&2\\1&5\end{bmatrix}},\quad \mathbf {P} _{12}={\begin{bmatrix}2&7\\6&2\end{bmatrix}},\quad \mathbf {P} _{21}={\begin{bmatrix}3&3\\3&3\end{bmatrix}},\quad \mathbf {P} _{22}={\begin{bmatrix}4&5\\6&7\end{bmatrix}}.$

La matriz particionada se puede escribir como

    $\mathbf {P} ={\begin{bmatrix}\mathbf {P} _{11}&\mathbf {P} _{12}\\\mathbf {P} _{21}&\mathbf {P} _{22}\end{bmatrix}}.$

## Multiplicación de matrices por bloques

Es posible utilizar un producto matricial dividido por bloques que involucre solo el álgebra en las submatrices de los factores. Sin embargo, la partición de los factores no es arbitraria y requiere particiones conformables entre dos matrices $A$ y $B$ de manera que todos los productos de las submatrices que se vayan a utilizar estén definidos. Dada una matriz $(m\times p)$ $\mathbf {A}$ con particiones de fila $q$ y particiones de columna $s$

    $\mathbf {A} ={\begin{bmatrix}\mathbf {A} _{11}&\mathbf {A} _{12}&\cdots &\mathbf {A} _{1s}\\\mathbf {A} _{21}&\mathbf {A} _{22}&\cdots &\mathbf {A} _{2s}\\\vdots &\vdots &\ddots &\vdots \\\mathbf {A} _{q1}&\mathbf {A} _{q2}&\cdots &\mathbf {A} _{qs}\end{bmatrix}}$

y una matriz $(p\times n)$ $\mathbf {B}$ con particiones de fila $s$ y particiones de columna $r$

    $\mathbf {B} ={\begin{bmatrix}\mathbf {B} _{11}&\mathbf {B} _{12}&\cdots &\mathbf {B} _{1r}\\\mathbf {B} _{21}&\mathbf {B} _{22}&\cdots &\mathbf {B} _{2r}\\\vdots &\vdots &\ddots &\vdots \\\mathbf {B} _{s1}&\mathbf {B} _{s2}&\cdots &\mathbf {B} _{sr}\end{bmatrix}},$

que son compatibles con las particiones de $A$, el producto de matrices

    $\mathbf {C} =\mathbf {A} \mathbf {B}$

se puede abordar por bloques, dando $\mathbf {C}$ como una matriz $(m\times n)$ con particiones de fila $q$ y particiones de columna $r$. Las submatrices de la matriz resultante $\mathbf {C}$ se calculan multiplicando:

    $\mathbf {C} _{qr}=\sum _{i=1}^{s}\mathbf {A} _{qi}\mathbf {B} _{ir}.$

O, utilizando el convenio de suma de Einstein que suma implícitamente sobre índices repetidos:

    $\mathbf {C} _{qr}=\mathbf {A} _{qi}\mathbf {B} _{ir}.$

## Inversión de una matriz por bloques

Si una matriz se divide en cuatro bloques, puede ser invertida de la siguiente manera:

    $\mathbf {P} ={\begin{bmatrix}\mathbf {A} &\mathbf {B} \\\mathbf {C} &\mathbf {D} \end{bmatrix}}^{-1}={\begin{bmatrix}\mathbf {A} ^{-1}+\mathbf {A} ^{-1}\mathbf {B} \left(\mathbf {D} -\mathbf {CA} ^{-1}\mathbf {B} \right)^{-1}\mathbf {CA} ^{-1}&-\mathbf {A} ^{-1}\mathbf {B} \left(\mathbf {D} -\mathbf {CA} ^{-1}\mathbf {B} \right)^{-1}\\-\left(\mathbf {D} -\mathbf {CA} ^{-1}\mathbf {B} \right)^{-1}\mathbf {CA} ^{-1}&\left(\mathbf {D} -\mathbf {CA} ^{-1}\mathbf {B} \right)^{-1}\end{bmatrix}},$

donde A y D son matrices cuadradas de tamaño arbitrario, y B y C son conformables para particiones. Además, A y el complemento de Schur de A en P: P/A = D − $CA^{−1}B$ deben ser invertibles.

De manera equivalente, permutando los bloques:

    $\mathbf {P} ={\begin{bmatrix}\mathbf {A} &\mathbf {B} \\\mathbf {C} &\mathbf {D} \end{bmatrix}}^{-1}={\begin{bmatrix}\left(\mathbf {A} -\mathbf {BD} ^{-1}\mathbf {C} \right)^{-1}&-\left(\mathbf {A} -\mathbf {BD} ^{-1}\mathbf {C} \right)^{-1}\mathbf {BD} ^{-1}\\-\mathbf {D} ^{-1}\mathbf {C} \left(\mathbf {A} -\mathbf {BD} ^{-1}\mathbf {C} \right)^{-1}&\quad \mathbf {D} ^{-1}+\mathbf {D} ^{-1}\mathbf {C} \left(\mathbf {A} -\mathbf {BD} ^{-1}\mathbf {C} \right)^{-1}\mathbf {BD} ^{-1}\end{bmatrix}}.$

Aquí, D y el complemento de Schur de D en P: P/D = A − $BD^{−1}C$ debe ser invertible.

Si A y D son ambas invertibles, entonces:

    ${\begin{bmatrix}\mathbf {A} &\mathbf {B} \\\mathbf {C} &\mathbf {D} \end{bmatrix}}^{-1}={\begin{bmatrix}\left(\mathbf {A} -\mathbf {B} \mathbf {D} ^{-1}\mathbf {C} \right)^{-1}&\mathbf {0} \\\mathbf {0} &\left(\mathbf {D} -\mathbf {C} \mathbf {A} ^{-1}\mathbf {B} \right)^{-1}\end{bmatrix}}{\begin{bmatrix}\mathbf {I} &-\mathbf {B} \mathbf {D} ^{-1}\\-\mathbf {C} \mathbf {A} ^{-1}&\mathbf {I} \end{bmatrix}}.$

Por la identidad de Weinstein-Aronszajn, una de las dos matrices en la matriz diagonal de bloques es invertible exactamente cuando la otra lo es.

## Matrices diagonales por bloques

Una matriz diagonal por bloques es una matriz por bloques cuadrada, tal que los bloques de la diagonal principal son matrices cuadradas y todos los bloques fuera de la diagonal son matrices cero. Es decir, una matriz diagonal por bloques A tiene la forma

    $\mathbf {A} ={\begin{bmatrix}\mathbf {A} _{1}&0&\cdots &0\\0&\mathbf {A} _{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}\end{bmatrix}}$

donde $A_k$ es una matriz cuadrada para todo k = 1, ..., n. En otras palabras, la matriz A es la suma directa de $A_1,$ ..., $A_n.$ También se puede indicar como $A_1$ ⊕ $A_2$ ⊕ ... ⊕ $A_n$ o $diag(A_1,$ $A_2,$ ..., $A_n)$ (este último es el mismo formalismo utilizado para una matriz diagonal). Cualquier matriz cuadrada puede considerarse trivialmente como una matriz diagonal de bloques con un solo bloque.

Para el determinante y la traza, se conservan las siguientes propiedades

    ${\begin{aligned}\det \mathbf {A} &=\det \mathbf {A} _{1}\times \cdots \times \det \mathbf {A} _{n},\\\operatorname {tr} \mathbf {A} &=\operatorname {tr} \mathbf {A} _{1}+\cdots +\operatorname {tr} \mathbf {A} _{n}.\end{aligned}}$

Una matriz diagonal por bloques es invertible si y solo si cada uno de sus bloques de la diagonal principal es invertible, y en este caso su inversa es otra matriz diagonal por bloques dada por

    ${\begin{bmatrix}\mathbf {A} _{1}&0&\cdots &0\\0&\mathbf {A} _{2}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}\end{bmatrix}}^{-1}={\begin{bmatrix}\mathbf {A} _{1}^{-1}&0&\cdots &0\\0&\mathbf {A} _{2}^{-1}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &\mathbf {A} _{n}^{-1}\end{bmatrix}}.$

Los autovalores y autovectores de $A$ son simplemente los de $A_{1}$ y $A_{2}$ y ... y $A_{n}$ combinados.

## Matriz tridiagonal por bloques

Una matriz tridiagonal por bloques es otra matriz por bloques especial, que como la matriz diagonal de bloques es una matriz cuadrada, que tiene matrices cuadradas (bloques) en la diagonal inferior, en la diagonal principal y en la diagonal superior, y todos los demás bloques son matrices cero. Es esencialmente una matriz tridiagonal pero tiene submatrices en lugar de escalares. Una matriz tridiagonal por bloques A tiene la forma

    $\mathbf {A} ={\begin{bmatrix}\mathbf {B} _{1}&\mathbf {C} _{1}&&&\cdots &&0\\\mathbf {A} _{2}&\mathbf {B} _{2}&\mathbf {C} _{2}&&&&\\&\ddots &\ddots &\ddots &&&\vdots \\&&\mathbf {A} _{k}&\mathbf {B} _{k}&\mathbf {C} _{k}&&\\\vdots &&&\ddots &\ddots &\ddots &\\&&&&\mathbf {A} _{n-1}&\mathbf {B} _{n-1}&\mathbf {C} _{n-1}\\0&&\cdots &&&\mathbf {A} _{n}&\mathbf {B} _{n}\end{bmatrix}}$

donde $A_k,$ $B_k$ y $C_k$ son submatrices cuadradas de la diagonal inferior, principal y superior respectivamente.

Las matrices tridiagonales por bloques se encuentran a menudo en soluciones numéricas de problemas de ingeniería (por ejemplo, en mecánica de fluidos computacional). Existen métodos numéricos optimizados para la factorización LU y, por lo tanto, algoritmos de solución eficientes para sistemas de ecuaciones con una matriz tridiagonal de bloques como matriz de coeficientes. El algoritmo para matrices tridiagonales, usado para la solución eficiente de sistemas de ecuaciones que involucran una matriz tridiagonal, también se puede aplicar usando operaciones matriciales para matrices tridiagonales por bloques (véase también descomposición en bloques LU).

## Matriz de Toeplitz por bloques

Una matriz de Toeplitz por bloques es otra matriz por bloques especial, que contiene bloques que se repiten en las diagonales de la matriz, al igual que una matriz de Toeplitz tiene elementos repetidos en la diagonal. Los elementos individuales de la matriz por bloques, Aij, también deben ser matrices de Toeplitz.

Una matriz de Toeplitz por bloques A tiene la forma

    $\mathbf {A} ={\begin{bmatrix}\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&&\cdots &\mathbf {A} _{(1,n-1)}&\mathbf {A} _{(1,n)}\\\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&&&\mathbf {A} _{(1,n-1)}\\&\ddots &\ddots &\ddots &&&\vdots \\&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}&&\\\vdots &&&\ddots &\ddots &\ddots &\\\mathbf {A} _{(n-1,1)}&&&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}&\mathbf {A} _{(1,2)}\\\mathbf {A} _{(n,1)}&\mathbf {A} _{(n-1,1)}&\cdots &&&\mathbf {A} _{(2,1)}&\mathbf {A} _{(1,1)}\end{bmatrix}}.$

## Transposición por bloques

También se puede definir una forma especial de matriz transpuesta para matrices por bloques, donde los bloques individuales se reordenan pero no se transponen. Sea $A=(B_{ij})$ una matriz por bloques $k\times l$ con bloques $m\times n$ $B_{ij}$. La transposición por bloques de $A$ es la matriz por bloques $l\times k$ $A^{\mathcal {B}}$ con bloques $m\times n$ $\left(A^{\mathcal {B}}\right)_{ij}=B_{ji}$.

Al igual que con el operador traza convencional, la transposición por bloques es una aplicación lineal tal que $(A+C)^{\mathcal {B}}=A^{\mathcal {B}}+C^{\mathcal {B}}$. Sin embargo, en general, la propiedad $(AC)^{\mathcal {B}}=C^{\mathcal {B}}A^{\mathcal {B}}$ no se mantiene a menos que los bloques de $A$ y de $C$ sean conmutables entre sí.

## Suma directa

Para cualquier matriz arbitraria A (de tamaño m × n) y B (de tamaño p × q), se define la suma directa de A y B, denotada por A $\oplus$ B como

    $\mathbf {A} \oplus \mathbf {B} ={\begin{bmatrix}a_{11}&\cdots &a_{1n}&0&\cdots &0\\\vdots &\ddots &\vdots &\vdots &\ddots &\vdots \\a_{m1}&\cdots &a_{mn}&0&\cdots &0\\0&\cdots &0&b_{11}&\cdots &b_{1q}\\\vdots &\ddots &\vdots &\vdots &\ddots &\vdots \\0&\cdots &0&b_{p1}&\cdots &b_{pq}\end{bmatrix}}.$

Por ejemplo,

    ${\begin{bmatrix}1&3&2\\2&3&1\end{bmatrix}}\oplus {\begin{bmatrix}1&6\\0&1\end{bmatrix}}={\begin{bmatrix}1&3&2&0&0\\2&3&1&0&0\\0&0&0&1&6\\0&0&0&0&1\end{bmatrix}}.$

Esta operación se generaliza naturalmente a matrices de dimensiones arbitrarias (siempre que A y B tengan el mismo número de dimensiones).

Debe tenerse en cuenta que cualquier elemento en la suma directa de dos espacios vectoriales de matrices podría representarse como la suma directa de dos matrices.

## Aplicación

En términos de álgebra lineal, el uso de una matriz por bloques corresponde a tener una aplicación lineal en términos de racimos de vectores de una base, lo que nuevamente coincide con la idea de haber distinguido las descomposiciones de la suma directa de dominio y de rango. Siempre es particularmente significativo si un bloque es la matriz cero; que conlleva la información de que un sumando se aplica sobre sí mismo en una suma parcial.

Dada la interpretación a través de aplicaciones lineales y sumas directas, existe un tipo especial de matriz por bloques propio de las matrices cuadradas (en el caso m = n). En este supuesto, se puede asumir una interpretación como un endomorfismo de un espacio n dimensional V; la estructura de bloques en la que el agrupamiento de filas y columnas es el mismo es de importancia porque corresponde a tener una sola descomposición de suma directa en V (en lugar de dos). En ese caso, por ejemplo, los bloques diagonales en el sentido obvio son todos cuadrados. Este tipo de estructura es necesario para describir la forma canónica de Jordan.

Esta técnica se utiliza para reducir los cálculos con matrices; en expansiones de filas y columnas; y en diversas aplicaciones en ciencias de la computación, incluido el diseño de chips integrados. Un ejemplo es el algoritmo de Strassen para la multiplicación de matrices rápida, así como la codificación Hamming(7,4) para detección de errores y recuperación de datos en las transmisiones digitales.

