Saltar al contenido

Diario de clases

Clases de Jesús Soto

Menú
  • Fórmulas
Menú

Navegación de entradas

ALG: Matrices ←
→ ALG: Semejanza por operaciones elementales en matrices

ALG: Multiplicación de matrices por bloques

Posted on 24 de septiembre de 2025

La multiplicación de matrices por bloques es una técnica que te permite multiplicar dos matrices que han sido particionadas en submatrices, o bloques, como si estos bloques fueran los elementos individuales de una matriz. El proceso sigue la misma lógica que la multiplicación de matrices estándar.

Consideremos dos matrices, \(A\) y \(B\). Para poder multiplicarlas por bloques, las particiones de las columnas de \(A\) deben coincidir con las particiones de las filas de \(B\). Si \(A\) es una matriz de \(m \times n\) y \(B\) es una matriz de \(n \times p\), la partición de \(A\) debe ser de la forma \(A = [A_{ij}]\), donde cada \(A_{ij}\) es un bloque, y la partición de \(B\) debe ser de la forma \(B = [B_{ij}]\).

Si la matriz \(A\) tiene una partición de tamaño \(r \times s\) (es decir, \(r\) particiones horizontales y \(s\) particiones verticales) y la matriz \(B\) tiene una partición de tamaño \(s \times t\), la matriz producto \(C = AB\) tendrá una partición de tamaño \(r \times t\), donde cada bloque \(C_{ij}\) se calcula como la suma de los productos de los bloques correspondientes.

Formalmente, si
\[
A =
\begin{bmatrix}
A_{11} & A_{12} & \dots & A_{1s} \\
A_{21} & A_{22} & \dots & A_{2s} \\
\vdots & \vdots & \ddots & \vdots \\
A_{r1} & A_{r2} & \dots & A_{rs}
\end{bmatrix}
\quad
\text{y}
\quad
B =
\begin{bmatrix}
B_{11} & B_{12} & \dots & B_{1t} \\
B_{21} & B_{22} & \dots & B_{2t} \\
\vdots & \vdots & \ddots & \vdots \\
B_{s1} & B_{s2} & \dots & B_{st}
\end{bmatrix}
\]
entonces el bloque \(C_{ij}\) del producto \(C = AB\) se calcula como:
\[
C_{ij} = \sum_{k=1}^{s} A_{ik} B_{kj}
\]
Cada multiplicación y suma dentro de la fórmula es una operación de matrices.

Veámoslo en un ejemplo práctico

Consideremos dos matrices \(A\) y \(B\).
\[
A =
\begin{bmatrix}
{1} & {2} & {3} & {4} \\
{5} & {6} & {7} & {8} \\
0 & 1 & -1 & 2 \\
-1 & 1 & -3 & 6
\end{bmatrix}
\quad
\text{y}
\quad
B =
\begin{bmatrix}
{1} & {0} & 1 & 0 \\
{0} & {1} & 0 & 1 \\
3 & 4 & -1 & 0 \\
7 & 8 & 2 & 1
\end{bmatrix}
\]
Vamos a particionarlas en bloques de \(2 \times 2\).
\[
A =
\begin{bmatrix}
A_{11} & A_{12} \\
A_{21} & A_{22}
\end{bmatrix}
\quad
\text{y}
\quad
B =
\begin{bmatrix}
B_{11} & B_{12} \\
B_{21} & B_{22}
\end{bmatrix}
\]
Donde:
\[
A_{11} =
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}
, \quad
A_{12} =
\begin{bmatrix}
3 & 4 \\
7 & 8
\end{bmatrix}
, \quad
A_{21} =
\begin{bmatrix}
0 & 1 \\
-1 & 1
\end{bmatrix}
, \quad
A_{22} =
\begin{bmatrix}
-1 & 2 \\
-3 & 6
\end{bmatrix}
\]
\[
B_{11} =
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
, \quad
B_{12} =
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
, \quad
B_{21} =
\begin{bmatrix}
3 & 4 \\
7 & 8
\end{bmatrix}
, \quad
B_{22} =
\begin{bmatrix}
-1 & 0 \\
2 & 1
\end{bmatrix}
\]
El producto \(C = AB\) será una matriz particionada de la misma manera:
\[
C =
\begin{bmatrix}
C_{11} & C_{12} \\
C_{21} & C_{22}
\end{bmatrix}
\]
Donde cada bloque se calcula de la siguiente manera:
\[\begin{align*}C_{11} &= A_{11}B_{11} + A_{12}B_{21}\\
C_{12} &= A_{11}B_{12} + A_{12}B_{22}\\
C_{21} &= A_{21}B_{11} + A_{22}B_{21}\\
C_{22} &= A_{21}B_{12} + A_{22}B_{22}
\end{align*}
\]

Calculemos el primer bloque, \(C_{11}\):
\[\begin{align*}
C_{11} &=
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
+
\begin{bmatrix}
3 & 4 \\
7 & 8
\end{bmatrix}
\begin{bmatrix}
3 & 4 \\
7 & 8
\end{bmatrix}
\\
&=
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}
+
\begin{bmatrix}
3(3)+4(7) & 3(4)+4(8) \\
7(3)+8(7) & 7(4)+8(8)
\end{bmatrix}\\
&=
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}
+
\begin{bmatrix}
9+28 & 12+32 \\
21+56 & 28+64
\end{bmatrix}
\\
&=
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}
+
\begin{bmatrix}
37 & 44 \\
77 & 92
\end{bmatrix} \\
&=
\begin{bmatrix}
1+37 & 2+44 \\
5+77 & 6+92
\end{bmatrix}\\
&=
\begin{bmatrix}
38 & 46 \\
82 & 98
\end{bmatrix}\end{align*}
\]
Una vez que calcules los cuatro bloques, simplemente los unes para obtener la matriz final \(C\).

Ejercicio: Sean \[
A = \begin{bmatrix}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8 \\
9 & 10 & 11 & 12 \\
13 & 14 & 15 & 16
\end{bmatrix}, \quad
B = \begin{bmatrix}
1 & 0 & 0 & 1 \\
0 & 1 & 1 & 0 \\
1 & 1 & 0 & 0 \\
0 & 0 & 1 & 1
\end{bmatrix}
\] Divide las siguientes matrices en bloques de 2×2, para calcular \(A.B\)

Sean \[A_{11} = \begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix},\ A_{12} = \begin{bmatrix}
3 & 4 \\
7 & 8 \\
\end{bmatrix},\ A_{21} = \begin{bmatrix}
9 & 10 \\
13 & 14
\end{bmatrix},\ A_{22} = \begin{bmatrix}
11 & 12 \\
15 & 16
\end{bmatrix}\] y
\[B_{11} = \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix},\ B_{12} = \begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix},\ B_{21} = \begin{bmatrix}
1 & 1 \\
0 & 0
\end{bmatrix},\ B_{22} = \begin{bmatrix}
0 & 0 \\
1 & 1
\end{bmatrix}\]
Así tendrémos
\[A.B= \begin{bmatrix}=
A_{11}B_{11} + A_{12}B_{21} & A_{11}B_{12} + A_{12}B_{22} \\
A_{21}B_{11} + A_{22}B_{21} & A_{21}B_{12} + A_{22}B_{22}
\end{bmatrix}=\]\[=\begin{bmatrix}
\begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix} \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix} + \begin{bmatrix}
3 & 4 \\
7 & 8 \\
\end{bmatrix}\begin{bmatrix}
1 & 1 \\
0 & 0
\end{bmatrix} & \begin{bmatrix}
1 & 2 \\
5 & 6
\end{bmatrix}\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix} + \begin{bmatrix}
3 & 4 \\
7 & 8 \\
\end{bmatrix}\begin{bmatrix}
0 & 0 \\
1 & 1
\end{bmatrix} \\
\begin{bmatrix}
9 & 10 \\
13 & 14
\end{bmatrix}\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix} + \begin{bmatrix}
11 & 12 \\
15 & 16
\end{bmatrix}\begin{bmatrix}
1 & 1 \\
0 & 0
\end{bmatrix} & \begin{bmatrix}
9 & 10 \\
13 & 14
\end{bmatrix}\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix} + \begin{bmatrix}
11 & 12 \\
15 & 16
\end{bmatrix}\begin{bmatrix}
0 & 0 \\
1 & 1
\end{bmatrix}
\end{bmatrix}\]

En el ejemplo anterior hemos considerado matrices cuadradas que resulta más fácil. Pero, la multiplicación de matrices por bloques no se limita a matrices cuadradas. Funciona exactamente igual para matrices no cuadradas, siempre y cuando sus dimensiones sean compatibles para la multiplicación estándar.

El principio es el mismo: las particiones de las matrices deben ser compatibles. Si tienes una matriz \(A\) de tamaño \(m \times n\) y una matriz \(B\) de tamaño \(n \times p\), el producto \(C = AB\) será una matriz de tamaño \(m \times p\). Para que la multiplicación por bloques funcione, la forma en que divides las columnas de \(A\) debe coincidir con la forma en que divides las filas de \(B\).

Vamos a considerar una matriz \(A\) de \(m \times n\) y una matriz \(B\) de \(n \times p\).

Si particionamos \(A\) en \(r\) filas de bloques y \(s\) columnas de bloques, y particionamos \(B\) en \(s\) filas de bloques y \(t\) columnas de bloques, el producto \(C = AB\) será una matriz de \(r \times t\) bloques.

\[
A =
\begin{bmatrix}
A_{11} & \dots & A_{1s} \\
\vdots & \ddots & \vdots \\
A_{r1} & \dots & A_{rs}
\end{bmatrix}
\quad
\text{y}
\quad
B =
\begin{bmatrix}
B_{11} & \dots & B_{1t} \\
\vdots & \ddots & \vdots \\
B_{s1} & \dots & B_{st}
\end{bmatrix}
\]

El bloque \(C_{ij}\) del producto se calcula como la suma de los productos de los bloques correspondientes, exactamente como en el caso de las matrices cuadradas:

\[
C_{ij} = \sum_{k=1}^{s} A_{ik} B_{kj}
\]

La única condición es que las dimensiones de los bloques deben ser compatibles para la multiplicación. Esto significa que el número de columnas de cada bloque \(A_{ik}\) debe ser igual al número de filas del bloque \(B_{kj}\) con el que se multiplica.

Ejercicio: Sean la matriz \(A\) de \(2 \times 3\) y la matriz \(B\) de \(3 \times 2\).
\[
A = \begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}
\quad
\text{y}
\quad
B = \begin{bmatrix}
7 & 8 \\
9 & 10 \\
11 & 12
\end{bmatrix}
\]
Calcular \(A.B\)

Particionemos \(A\) y \(B\) en bloques:
\[
A = \begin{bmatrix}
A_{11} & A_{12}
\end{bmatrix}
\quad
\text{donde}
\quad
A_{11} = \begin{bmatrix} 1 & 2 \\ 4 & 5 \end{bmatrix}
, \quad
A_{12} = \begin{bmatrix} 3 \\ 6 \end{bmatrix}
\]

\[
B = \begin{bmatrix}
B_{11} \\
B_{21}
\end{bmatrix}
\quad
\text{donde}
\quad
B_{11} = \begin{bmatrix} 7 & 8 \\ 9 & 10 \end{bmatrix}
, \quad
B_{21} = \begin{bmatrix} 11 & 12 \end{bmatrix}
\]

El producto \(C = AB\) será una matriz de \(2 \times 2\) y tendrá una sola partición de bloque, \(C_{11}\).
\[\begin{align*}
C_{11} &= A_{11}B_{11} + A_{12}B_{21} \\
&= \begin{bmatrix} 1 & 2 \\ 4 & 5 \end{bmatrix} \begin{bmatrix} 7 & 8 \\ 9 & 10 \end{bmatrix} + \begin{bmatrix} 3 \\ 6 \end{bmatrix}
\begin{bmatrix} 11 & 12 \end{bmatrix}\\
&= \begin{bmatrix} 1(7)+2(9) & 1(8)+2(10) \\ 4(7)+5(9) & 4(8)+5(10) \end{bmatrix} + \begin{bmatrix} 3(11) & 3(12) \\ 6(11) & 6(12) \end{bmatrix}\\
&= \begin{bmatrix} 7+18 & 8+20 \\ 28+45 & 32+50 \end{bmatrix} + \begin{bmatrix} 33 & 36 \\ 66 & 72 \end{bmatrix} \\
&= \begin{bmatrix} 25 & 28 \\ 73 & 82 \end{bmatrix} + \begin{bmatrix} 33 & 36 \\ 66 & 72 \end{bmatrix} \\
&= \begin{bmatrix} 25+33 & 28+36 \\ 73+66 & 82+72 \end{bmatrix} = \begin{bmatrix} 58 & 64 \\ 139 & 154 \end{bmatrix}
\end{align*}
\]

El resultado final es el mismo que haciendo la multiplicación de matrices de la forma convencional. La clave es que la multiplicación por bloques proporciona una forma estructurada de dividir un problema complejo en subproblemas más pequeños y manejables.


Ejercicio: Dadas las matrices \(A=\begin{bmatrix}1 & 5 & -3 & 1 & 4 & 3 \\
2 & 0 & -4 & 3 & 0 & -4 \\
3 & -1 & -5 & 5 & -1 & 5 \\
4 & -2 & 0 & 2 & -2 & 0\end{bmatrix}\) y \(B=\begin{bmatrix}1 & 0 & 1 & 0 \\
0 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 \\
0 & 1 & 0 & 1 \\
1 & 0 & 1 & 0 \\
0 & 1 & 0 & 1\end{bmatrix}\), calcular \(A.B\) mediante una multiplicación por bloques.


Ejercicio: Sean \[
A =\begin{bmatrix}\mathop{-}3 & 2 & 0 & 1\\
1 & 3 & 1 & \mathop{-}1\\
4 & 1 & 2 & \mathop{-}4\\
1 & 2 & 0 & 3\\
2 & 0 & 3 & 0 \end{bmatrix}, \quad
B =\begin{bmatrix}\mathop{-}3 & 1 & 0\\
\mathop{-}4 & \mathop{-}3 & \mathop{-}3\\
\mathop{-}1 & 0 & 0\\
3 & 0 & 1\end{bmatrix}\] Divide las siguientes matrices en bloques para calcular \(A.B\)

Consideremos los bloques
\[A=\left[\begin{array}{cc|cc}{-}3 & 2 & 0 & 1\\
1 & 3 & 1 & {-}1\\
4 & 1 & 2 & {-}4\\ \hline
1 & 2 & 0 & 3\\
2 & 0 & 3 & 0\end{array}\right]=\begin{bmatrix} A_1&A_2\\ A_3&A_4\end{bmatrix},\quad B=\left[\begin{array}{ccc}{-}3 & 1 & 0\\
{-}4 & {-}3 & {-}3\\ \hline
{-}1 & 0 & 0\\
3 & 0 & 1\end{array}\right]=\begin{bmatrix} B_1 \\ B_2 \end{bmatrix}
\]
El producto que buscamos será
\[A.B=\begin{bmatrix} A_1B_1+A_2B_2 \\ A_3B_1+A_4B_2 \end{bmatrix}=\begin{bmatrix}4 & \mathop{-}9 & \mathop{-}5\\
\mathop{-}19 & \mathop{-}8 & \mathop{-}10\\
\mathop{-}30 & 1 & \mathop{-}7\\
\mathop{-}2 & \mathop{-}5 & \mathop{-}3\\
\mathop{-}9 & 2 & 0\end{bmatrix}\]

Ejercicio: Sea \[\begin{bmatrix}2 & 0 & 2 & 0 & 1\\
0 & 1 & \mathop{-}1 & 0 & 1\\
\mathop{-}2 & 0 & 2 & 2 & \mathop{-}1\\
1 & \mathop{-}1 & 2 & 0 & 2\\
\mathop{-}1 & \mathop{-}1 & \mathop{-}1 & 0 & 0\\
1 & \mathop{-}1 & 0 & \mathop{-}1 & 0\\
0 & 1 & 0 & 0 & 0\end{bmatrix}\] Utilizando la multiplicación por bloques, calcular \(\mathbf{tr}(A.A^t)\).

Se define por traza de una matriz cuadrada \(A=[a_{ij}]\) como \(\mathbf{tr}(A)=\sum a_{ii}\).

Vemos que \[A^t=\begin{bmatrix}2 & 0 & \mathop{-}2 & 1 & \mathop{-}1 & 1 & 0\\
0 & 1 & 0 & \mathop{-}1 & \mathop{-}1 & \mathop{-}1 & 1\\
2 & \mathop{-}1 & 2 & 2 & \mathop{-}1 & 0 & 0\\
0 & 0 & 2 & 0 & 0 & \mathop{-}1 & 0\\
1 & 1 & \mathop{-}1 & 2 & 0 & 0 & 0\end{bmatrix}.\]
Consideremos los bloques
\[\left[\begin{array}{ccc|cc}2 & 0 & 2 & 0 & 1\\
0 & 1 & \mathop{-}1 & 0 & 1\\
\mathop{-}2 & 0 & 2 & 2 & \mathop{-}1\\ \hline
1 & \mathop{-}1 & 2 & 0 & 2\\
\mathop{-}1 & \mathop{-}1 & \mathop{-}1 & 0 & 0\\ \hline
1 & \mathop{-}1 & 0 & \mathop{-}1 & 0\\
0 & 1 & 0 & 0 & 0\end{array}\right]=\begin{bmatrix} A_1&A_2\\ A_3&A_4 \\ A_5 &A_6\end{bmatrix}\]
y
\[A^t=\left[\begin{array}{ccc|ccc|c}
2 & 0 & \mathop{-}2 & 1 & \mathop{-}1 & 1 & 0\\
0 & 1 & 0 & \mathop{-}1 & \mathop{-}1 & \mathop{-}1 & 1\\
2 & \mathop{-}1 & 2 & 2 & \mathop{-}1 & 0 & 0\\ \hline
0 & 0 & 2 & 0 & 0 & \mathop{-}1 & 0\\
1 & 1 & \mathop{-}1 & 2 & 0 & 0 & 0
\end{array}\right]=\begin{bmatrix} B_1 & B_2 & B_3 \\ B_4 & B_5 & B_6\end{bmatrix}
\]
El producto que buscamos será
\[A.A^t=\begin{bmatrix} A_1B_1+A_2B_4 & A_1B_2+A_2B_5 & A_1B_3+A_2B_6\\
A_3B_1+A_4B_4 & A_3B_2+A_4B_5 & A_3B_3+A_4B_6\\
A_5B_1+A_6B_4 & A_5B_2+A_6B_5 & A_5B_3+A_6B_6
\end{bmatrix}=\]\[=\begin{bmatrix}9 & \mathop{-}1 & \mathop{-}1 & 8 & \mathop{-}4 & 2 & 0\\
\mathop{-}1 & 3 & \mathop{-}3 & \mathop{-}1 & 0 & \mathop{-}1 & 1\\
\mathop{-}1 & \mathop{-}3 & 13 & 0 & 0 & \mathop{-}4 & 0\\
8 & \mathop{-}1 & 0 & 10 & \mathop{-}2 & 2 & \mathop{-}1\\
\mathop{-}4 & 0 & 0 & \mathop{-}2 & 3 & 0 & \mathop{-}1\\
2 & \mathop{-}1 & \mathop{-}4 & 2 & 0 & 3 & \mathop{-}1\\
0 & 1 & 0 & \mathop{-}1 & \mathop{-}1 & \mathop{-}1 & 1\end{bmatrix}\]
Ahora solo nos falta calcular la traza de la matriz \[\mathbf{tr}(A.A^t)=9+3+13+10+3+3+1=42\]

Bibliografía

  • Capítulo 2 de Álgebra lineal y sus aplicaciones. David C. Lay. Pearson. 2016.

Ejercicio: Sea \(A=\begin{bmatrix}1 & 2 & 3\\
4 & 5 & 6\end{bmatrix}\). ¿Cuánto es \(tr(A.A^t)\)
  • 32
  • 56
  • 91

C.)

Navegación de entradas

ALG: Matrices
MathBio: Bases y subespacios vectoriales

Novela

La Loba, la lucha fraticida por un reino

La Loba, la lucha fratricida por un reino.

Urraca, señora de Zamora, acusada de instigar la muerte de su hermano, el rey Sancho de Castilla, deberá defenderse de la acusación, al tiempo que luchará por mantener la cohesión entre los hermanos y los reinos cristianos: una lobera de fieros lobeznos.

👉 En amazon

Entradas recientes

  • MAD: Presentación
  • ALG: Ejercicios de repaso
  • ALG: Diagonalización de una matriz
  • ALG: Autovectores y autovalores con maxima
  • ALG: Autovectores y autovalores
febrero 2026
L M X J V S D
 1
2345678
9101112131415
16171819202122
232425262728  
« Dic    

Categorías

  • Álgebra Lineal
  • general
  • Matemática Discreta
  • MathBio

Etiquetas

Prácticas MathBio Prácticas Álgebra

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
©2026 Diario de clases | Diseño: Tema de WordPress Newspaperly