Matriz por bloques

Una matriz por bloques de 168×168 elementos con submatrices de 12×12, 12×24, 24x12 y 24×24. Los elementos distintos de cero están en azul, los elementos cero están en gris

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.[1]​ 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.[2]​ 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 {\displaystyle M} de dimensión n {\displaystyle n} por m {\displaystyle m} , subdividiendo n {\displaystyle n} en una colección de rowgroups {\displaystyle {\text{rowgroups}}} y luego subdividiendo m {\displaystyle m} en una colección de colgroups {\displaystyle {\text{colgroups}}} . La matriz original se considera entonces como el total de estos grupos, en el sentido de que la entrada ( i , j ) {\displaystyle (i,j)} de la matriz original corresponde uno a uno con alguna entrada ( s , t ) {\displaystyle (s,t)} desplazada con respecto a algún ( x , y ) {\displaystyle (x,y)} , donde x grupo de filas {\displaystyle x\in {\text{grupo de filas}}} e y grupo de columnas {\displaystyle y\in {\text{grupo de columnas}}} .

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

Ejemplo

La matriz

P = [ 1 2 2 7 1 5 6 2 3 3 4 5 3 3 6 7 ] {\displaystyle \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

P 11 = [ 1 2 1 5 ] , P 12 = [ 2 7 6 2 ] , P 21 = [ 3 3 3 3 ] , P 22 = [ 4 5 6 7 ] . {\displaystyle \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

P = [ P 11 P 12 P 21 P 22 ] . {\displaystyle \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[4]​ entre dos matrices A {\displaystyle A} y B {\displaystyle B} de manera que todos los productos de las submatrices que se vayan a utilizar estén definidos.[5]​ Dada una matriz ( m × p ) {\displaystyle (m\times p)} A {\displaystyle \mathbf {A} } con particiones de fila q {\displaystyle q} y particiones de columna s {\displaystyle s}

A = [ A 11 A 12 A 1 s A 21 A 22 A 2 s A q 1 A q 2 A q s ] {\displaystyle \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 × n ) {\displaystyle (p\times n)} B {\displaystyle \mathbf {B} } con particiones de fila s {\displaystyle s} y particiones de columna r {\displaystyle r}

B = [ B 11 B 12 B 1 r B 21 B 22 B 2 r B s 1 B s 2 B s r ] , {\displaystyle \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 {\displaystyle A} , el producto de matrices

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

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

C q r = i = 1 s A q i B i r . {\displaystyle \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:

C q r = A q i B i r . {\displaystyle \mathbf {C} _{qr}=\mathbf {A} _{qi}\mathbf {B} _{ir}.}

Inversión de una matriz por bloques

Véanse también: complemento de Schur y Subdivisión por bloques de Helmert-Wolf.

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

P = [ A B C D ] 1 = [ A 1 + A 1 B ( D C A 1 B ) 1 C A 1 A 1 B ( D C A 1 B ) 1 ( D C A 1 B ) 1 C A 1 ( D C A 1 B ) 1 ] , {\displaystyle \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 = DCA−1B deben ser invertibles.[6]

De manera equivalente, permutando los bloques:

P = [ A B C D ] 1 = [ ( A B D 1 C ) 1 ( A B D 1 C ) 1 B D 1 D 1 C ( A B D 1 C ) 1 D 1 + D 1 C ( A B D 1 C ) 1 B D 1 ] . {\displaystyle \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 = ABD−1C debe ser invertible.

Si A y D son ambas invertibles, entonces:

[ A B C D ] 1 = [ ( A B D 1 C ) 1 0 0 ( D C A 1 B ) 1 ] [ I B D 1 C A 1 I ] . {\displaystyle {\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

A = [ A 1 0 0 0 A 2 0 0 0 A n ] {\displaystyle \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 Ak es una matriz cuadrada para todo k = 1, ..., n. En otras palabras, la matriz A es la suma directa de A1, ..., An. También se puede indicar como A1 ⊕ A2 ⊕ ... ⊕ An o diag(A1, A2, ..., An) (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

det A = det A 1 × × det A n , tr A = tr A 1 + + tr A n . {\displaystyle {\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

[ A 1 0 0 0 A 2 0 0 0 A n ] 1 = [ A 1 1 0 0 0 A 2 1 0 0 0 A n 1 ] . {\displaystyle {\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 {\displaystyle A} son simplemente los de A 1 {\displaystyle A_{1}} y A 2 {\displaystyle A_{2}} y ... y A n {\displaystyle 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

A = [ B 1 C 1 0 A 2 B 2 C 2 A k B k C k A n 1 B n 1 C n 1 0 A n B n ] {\displaystyle \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 Ak, Bk y Ck 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

A = [ A ( 1 , 1 ) A ( 1 , 2 ) A ( 1 , n 1 ) A ( 1 , n ) A ( 2 , 1 ) A ( 1 , 1 ) A ( 1 , 2 ) A ( 1 , n 1 ) A ( 2 , 1 ) A ( 1 , 1 ) A ( 1 , 2 ) A ( n 1 , 1 ) A ( 2 , 1 ) A ( 1 , 1 ) A ( 1 , 2 ) A ( n , 1 ) A ( n 1 , 1 ) A ( 2 , 1 ) A ( 1 , 1 ) ] . {\displaystyle \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 i j ) {\displaystyle A=(B_{ij})} una matriz por bloques k × l {\displaystyle k\times l} con bloques m × n {\displaystyle m\times n} B i j {\displaystyle B_{ij}} . La transposición por bloques de A {\displaystyle A} es la matriz por bloques l × k {\displaystyle l\times k} A B {\displaystyle A^{\mathcal {B}}} con bloques m × n {\displaystyle m\times n} ( A B ) i j = B j i {\displaystyle \left(A^{\mathcal {B}}\right)_{ij}=B_{ji}} .[7]

Al igual que con el operador traza convencional, la transposición por bloques es una aplicación lineal tal que ( A + C ) B = A B + C B {\displaystyle (A+C)^{\mathcal {B}}=A^{\mathcal {B}}+C^{\mathcal {B}}} . Sin embargo, en general, la propiedad ( A C ) B = C B A B {\displaystyle (AC)^{\mathcal {B}}=C^{\mathcal {B}}A^{\mathcal {B}}} no se mantiene a menos que los bloques de A {\displaystyle A} y de C {\displaystyle 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  {\displaystyle \oplus }  B como

A B = [ a 11 a 1 n 0 0 a m 1 a m n 0 0 0 0 b 11 b 1 q 0 0 b p 1 b p q ] . {\displaystyle \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,

[ 1 3 2 2 3 1 ] [ 1 6 0 1 ] = [ 1 3 2 0 0 2 3 1 0 0 0 0 0 1 6 0 0 0 0 1 ] . {\displaystyle {\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.

Véase también

Referencias

  1. Eves, Howard (1980). Elementary Matrix Theory (reprint edición). New York: Dover. p. 37. ISBN 0-486-63946-0. Consultado el 24 de abril de 2013. (requiere registro). «Descubriremos que a veces es conveniente subdividir una matriz en bloques rectangulares de elementos. Esto nos lleva a considerar las llamadas matrices particionadas o por bloques 
  2. Anton, Howard (1994). Elementary Linear Algebra (7th edición). New York: John Wiley. p. 30. ISBN 0-471-58742-7. «Una matriz se puede subdividir o particionar en matrices más pequeñas insertando lineas horizontales y verticales entre las filas y columnas seleccionadas.» 
  3. Macedo, H.D.; Oliveira, J.N. (2013). «Typing linear algebra: A biproduct-oriented approach». Science of Computer Programming 78 (11): 2160-2191. arXiv:1312.4818. doi:10.1016/j.scico.2012.07.012. 
  4. Eves, Howard (1980). Elementary Matrix Theory (reprint edición). New York: Dover. p. 37. ISBN 0-486-63946-0. Consultado el 24 de abril de 2013. (requiere registro). «Un particionado como en el Teorema 1.9.4 es denominado un particionado conformable de A y B 
  5. Anton, Howard (1994). Elementary Linear Algebra (7th edición). New York: John Wiley. p. 36. ISBN 0-471-58742-7. «...siempre que los tamaños de las submatrices de A y B sean tales que se puedan realizar las operaciones indicadas.» 
  6. Bernstein, Dennis (2005). Matrix Mathematics. Princeton University Press. pp. 44. ISBN 0-691-11802-7. 
  7. Mackey, D. Steven (2006). Structured linearizations for matrix polynomials (Tesis). University of Manchester. ISSN 1749-9097. OCLC 930686781. 

Bibliografía

  • Strang, Gilbert (1999). «Lecture 3: Multiplication and inverse matrices». MIT Open Course ware. 18:30–21:10. 

Enlaces externos

  • Ver el portal sobre Matemáticas Portal:Matemáticas. Contenido relacionado con Matemáticas.
Control de autoridades
  • Proyectos Wikimedia
  • Wd Datos: Q884772
  • Wd Datos: Q884772