{"id":132,"date":"2025-09-24T08:15:55","date_gmt":"2025-09-24T06:15:55","guid":{"rendered":"https:\/\/clases.jesussoto.es\/?p=132"},"modified":"2025-09-25T12:13:53","modified_gmt":"2025-09-25T10:13:53","slug":"alg-multiplicacion-de-matrices-por-bloques","status":"publish","type":"post","link":"https:\/\/clases.jesussoto.es\/?p=132","title":{"rendered":"ALG: Multiplicaci\u00f3n de matrices por bloques"},"content":{"rendered":"<p>La <strong>multiplicaci\u00f3n de matrices por bloques<\/strong> es una t\u00e9cnica que te permite multiplicar dos matrices que han sido particionadas en submatrices, o <strong>bloques<\/strong>, como si estos bloques fueran los elementos individuales de una matriz. El proceso sigue la misma l\u00f3gica que la multiplicaci\u00f3n de matrices est\u00e1ndar.<\/p>\n<p>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\u00f3n de \\(A\\) debe ser de la forma \\(A = [A_{ij}]\\), donde cada \\(A_{ij}\\) es un bloque, y la partici\u00f3n de \\(B\\) debe ser de la forma \\(B = [B_{ij}]\\).<\/p>\n<p>Si la matriz \\(A\\) tiene una partici\u00f3n de tama\u00f1o \\(r \\times s\\) (es decir, \\(r\\) particiones horizontales y \\(s\\) particiones verticales) y la matriz \\(B\\) tiene una partici\u00f3n de tama\u00f1o \\(s \\times t\\), la matriz producto \\(C = AB\\) tendr\u00e1 una partici\u00f3n de tama\u00f1o \\(r \\times t\\), donde cada bloque \\(C_{ij}\\) se calcula como la suma de los productos de los bloques correspondientes.<\/p>\n<p>Formalmente, si<br \/>\n\\[<br \/>\nA =<br \/>\n\\begin{bmatrix}<br \/>\nA_{11} &#038; A_{12} &#038; \\dots &#038; A_{1s} \\\\<br \/>\nA_{21} &#038; A_{22} &#038; \\dots &#038; A_{2s} \\\\<br \/>\n\\vdots &#038; \\vdots &#038; \\ddots &#038; \\vdots \\\\<br \/>\nA_{r1} &#038; A_{r2} &#038; \\dots &#038; A_{rs}<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{y}<br \/>\n\\quad<br \/>\nB =<br \/>\n\\begin{bmatrix}<br \/>\nB_{11} &#038; B_{12} &#038; \\dots &#038; B_{1t} \\\\<br \/>\nB_{21} &#038; B_{22} &#038; \\dots &#038; B_{2t} \\\\<br \/>\n\\vdots &#038; \\vdots &#038; \\ddots &#038; \\vdots \\\\<br \/>\nB_{s1} &#038; B_{s2} &#038; \\dots &#038; B_{st}<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nentonces el bloque \\(C_{ij}\\) del producto \\(C = AB\\) se calcula como:<br \/>\n\\[<br \/>\nC_{ij} = \\sum_{k=1}^{s} A_{ik} B_{kj}<br \/>\n\\]<br \/>\nCada multiplicaci\u00f3n y suma dentro de la f\u00f3rmula es una operaci\u00f3n de matrices.<\/p>\n<p>Ve\u00e1moslo en un ejemplo pr\u00e1ctico<\/p>\n<p>Consideremos dos matrices \\(A\\) y \\(B\\).<br \/>\n\\[<br \/>\nA =<br \/>\n\\begin{bmatrix}<br \/>\n{1} &#038; {2} &#038; {3} &#038; {4} \\\\<br \/>\n{5} &#038; {6} &#038; {7} &#038; {8} \\\\<br \/>\n0 &#038; 1 &#038; -1 &#038; 2 \\\\<br \/>\n-1 &#038; 1 &#038; -3 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{y}<br \/>\n\\quad<br \/>\nB =<br \/>\n\\begin{bmatrix}<br \/>\n{1} &#038; {0} &#038; 1 &#038; 0 \\\\<br \/>\n{0} &#038; {1} &#038; 0 &#038; 1 \\\\<br \/>\n3 &#038; 4 &#038; -1 &#038; 0 \\\\<br \/>\n7 &#038; 8 &#038; 2 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nVamos a particionarlas en bloques de \\(2 \\times 2\\).<br \/>\n\\[<br \/>\nA =<br \/>\n\\begin{bmatrix}<br \/>\nA_{11} &#038; A_{12} \\\\<br \/>\nA_{21} &#038; A_{22}<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{y}<br \/>\n\\quad<br \/>\nB =<br \/>\n\\begin{bmatrix}<br \/>\nB_{11} &#038; B_{12} \\\\<br \/>\nB_{21} &#038; B_{22}<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nDonde:<br \/>\n\\[<br \/>\nA_{11} =<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 2 \\\\<br \/>\n5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nA_{12} =<br \/>\n\\begin{bmatrix}<br \/>\n3 &#038; 4 \\\\<br \/>\n7 &#038; 8<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nA_{21} =<br \/>\n\\begin{bmatrix}<br \/>\n0 &#038; 1 \\\\<br \/>\n-1 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nA_{22} =<br \/>\n\\begin{bmatrix}<br \/>\n-1 &#038; 2 \\\\<br \/>\n-3 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\n\\[<br \/>\nB_{11} =<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 0 \\\\<br \/>\n0 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nB_{12} =<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 0 \\\\<br \/>\n0 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nB_{21} =<br \/>\n\\begin{bmatrix}<br \/>\n3 &#038; 4 \\\\<br \/>\n7 &#038; 8<br \/>\n\\end{bmatrix}<br \/>\n, \\quad<br \/>\nB_{22} =<br \/>\n\\begin{bmatrix}<br \/>\n-1 &#038; 0 \\\\<br \/>\n 2 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nEl producto \\(C = AB\\) ser\u00e1 una matriz particionada de la misma manera:<br \/>\n\\[<br \/>\nC =<br \/>\n\\begin{bmatrix}<br \/>\nC_{11} &#038; C_{12} \\\\<br \/>\nC_{21} &#038; C_{22}<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nDonde cada bloque se calcula de la siguiente manera:<br \/>\n\\[\\begin{align*}C_{11} &#038;= A_{11}B_{11} + A_{12}B_{21}\\\\<br \/>\nC_{12} &#038;= A_{11}B_{12} + A_{12}B_{22}\\\\<br \/>\nC_{21} &#038;= A_{21}B_{11} + A_{22}B_{21}\\\\<br \/>\nC_{22} &#038;= A_{21}B_{12} + A_{22}B_{22}<br \/>\n\\end{align*}<br \/>\n\\]<\/p>\n<p>Calculemos el primer bloque, \\(C_{11}\\):<br \/>\n\\[\\begin{align*}<br \/>\nC_{11} &#038;=<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 2 \\\\<br \/>\n5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 0 \\\\<br \/>\n0 &#038; 1<br \/>\n\\end{bmatrix}<br \/>\n+<br \/>\n\\begin{bmatrix}<br \/>\n3 &#038; 4 \\\\<br \/>\n7 &#038; 8<br \/>\n\\end{bmatrix}<br \/>\n\\begin{bmatrix}<br \/>\n3 &#038; 4 \\\\<br \/>\n7 &#038; 8<br \/>\n\\end{bmatrix}<br \/>\n\\\\<br \/>\n&#038;=<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 2 \\\\<br \/>\n5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n+<br \/>\n\\begin{bmatrix}<br \/>\n3(3)+4(7) &#038; 3(4)+4(8) \\\\<br \/>\n7(3)+8(7) &#038; 7(4)+8(8)<br \/>\n\\end{bmatrix}\\\\<br \/>\n&#038;=<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 2 \\\\<br \/>\n5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n+<br \/>\n\\begin{bmatrix}<br \/>\n9+28 &#038; 12+32 \\\\<br \/>\n21+56 &#038; 28+64<br \/>\n\\end{bmatrix}<br \/>\n\\\\<br \/>\n&#038;=<br \/>\n\\begin{bmatrix}<br \/>\n1 &#038; 2 \\\\<br \/>\n5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n+<br \/>\n\\begin{bmatrix}<br \/>\n37 &#038; 44 \\\\<br \/>\n77 &#038; 92<br \/>\n\\end{bmatrix} \\\\<br \/>\n&#038;=<br \/>\n\\begin{bmatrix}<br \/>\n1+37 &#038; 2+44 \\\\<br \/>\n5+77 &#038; 6+92<br \/>\n\\end{bmatrix}\\\\<br \/>\n&#038;=<br \/>\n\\begin{bmatrix}<br \/>\n38 &#038; 46 \\\\<br \/>\n82 &#038; 98<br \/>\n\\end{bmatrix}\\end{align*}<br \/>\n\\]<br \/>\nUna vez que calcules los cuatro bloques, simplemente los unes para obtener la matriz final \\(C\\).<\/p>\n<blockquote>\n<p><strong>Ejercicio:<\/strong> Sean  \\[<br \/>\n    A = \\begin{bmatrix}<br \/>\n    1 &#038; 2 &#038; 3 &#038; 4 \\\\<br \/>\n    5 &#038; 6 &#038; 7 &#038; 8 \\\\<br \/>\n    9 &#038; 10 &#038; 11 &#038; 12 \\\\<br \/>\n    13 &#038; 14 &#038; 15 &#038; 16<br \/>\n    \\end{bmatrix}, \\quad<br \/>\n    B = \\begin{bmatrix}<br \/>\n    1 &#038; 0 &#038; 0 &#038; 1 \\\\<br \/>\n    0 &#038; 1 &#038; 1 &#038; 0 \\\\<br \/>\n    1 &#038; 1 &#038; 0 &#038; 0 \\\\<br \/>\n    0 &#038; 0 &#038; 1 &#038; 1<br \/>\n    \\end{bmatrix}<br \/>\n    \\] Divide las siguientes matrices en bloques de 2\u00d72, para calcular \\(A.B\\)<\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv8() {\n  var htmlShow8 = document.getElementById(\"html-show8\");\n  if (htmlShow8.style.display === \"none\") {\n    htmlShow8.style.display = \"block\";\n  } else {\n    htmlShow8.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv8()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show8\" style=\"display: none;\">\nSean \\[A_{11} = \\begin{bmatrix}<br \/>\n    1 &#038; 2  \\\\<br \/>\n    5 &#038; 6<br \/>\n    \\end{bmatrix},\\ A_{12} = \\begin{bmatrix}<br \/>\n     3 &#038; 4 \\\\<br \/>\n     7 &#038; 8 \\\\<br \/>\n    \\end{bmatrix},\\ A_{21} = \\begin{bmatrix}<br \/>\n    9 &#038; 10 \\\\<br \/>\n    13 &#038; 14<br \/>\n    \\end{bmatrix},\\ A_{22} =  \\begin{bmatrix}<br \/>\n    11 &#038; 12 \\\\<br \/>\n     15 &#038; 16<br \/>\n    \\end{bmatrix}\\] y<br \/>\n\\[B_{11} = \\begin{bmatrix}<br \/>\n     1 &#038; 0 \\\\<br \/>\n    0 &#038; 1<br \/>\n    \\end{bmatrix},\\ B_{12} = \\begin{bmatrix}<br \/>\n        0 &#038; 1 \\\\<br \/>\n      1 &#038; 0<br \/>\n    \\end{bmatrix},\\ B_{21} = \\begin{bmatrix}<br \/>\n    1 &#038; 1  \\\\<br \/>\n    0 &#038; 0<br \/>\n    \\end{bmatrix},\\ B_{22} =  \\begin{bmatrix}<br \/>\n      0 &#038; 0 \\\\<br \/>\n      1 &#038; 1<br \/>\n    \\end{bmatrix}\\]<br \/>\nAs\u00ed tendr\u00e9mos<br \/>\n\\[A.B= \\begin{bmatrix}=<br \/>\n    A_{11}B_{11} + A_{12}B_{21} &#038; A_{11}B_{12} + A_{12}B_{22} \\\\<br \/>\n    A_{21}B_{11} + A_{22}B_{21} &#038; A_{21}B_{12} + A_{22}B_{22}<br \/>\n    \\end{bmatrix}=\\]\\[=\\begin{bmatrix}<br \/>\n    \\begin{bmatrix}<br \/>\n    1 &#038; 2  \\\\<br \/>\n    5 &#038; 6<br \/>\n    \\end{bmatrix} \\begin{bmatrix}<br \/>\n     1 &#038; 0 \\\\<br \/>\n    0 &#038; 1<br \/>\n    \\end{bmatrix} + \\begin{bmatrix}<br \/>\n     3 &#038; 4 \\\\<br \/>\n     7 &#038; 8 \\\\<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n    1 &#038; 1  \\\\<br \/>\n    0 &#038; 0<br \/>\n    \\end{bmatrix} &#038; \\begin{bmatrix}<br \/>\n    1 &#038; 2  \\\\<br \/>\n    5 &#038; 6<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n        0 &#038; 1 \\\\<br \/>\n      1 &#038; 0<br \/>\n    \\end{bmatrix} + \\begin{bmatrix}<br \/>\n     3 &#038; 4 \\\\<br \/>\n     7 &#038; 8 \\\\<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n      0 &#038; 0 \\\\<br \/>\n      1 &#038; 1<br \/>\n    \\end{bmatrix} \\\\<br \/>\n    \\begin{bmatrix}<br \/>\n    9 &#038; 10 \\\\<br \/>\n    13 &#038; 14<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n     1 &#038; 0 \\\\<br \/>\n    0 &#038; 1<br \/>\n    \\end{bmatrix} + \\begin{bmatrix}<br \/>\n    11 &#038; 12 \\\\<br \/>\n     15 &#038; 16<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n    1 &#038; 1  \\\\<br \/>\n    0 &#038; 0<br \/>\n    \\end{bmatrix} &#038; \\begin{bmatrix}<br \/>\n    9 &#038; 10 \\\\<br \/>\n    13 &#038; 14<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n        0 &#038; 1 \\\\<br \/>\n      1 &#038; 0<br \/>\n    \\end{bmatrix} + \\begin{bmatrix}<br \/>\n    11 &#038; 12 \\\\<br \/>\n     15 &#038; 16<br \/>\n    \\end{bmatrix}\\begin{bmatrix}<br \/>\n      0 &#038; 0 \\\\<br \/>\n      1 &#038; 1<br \/>\n    \\end{bmatrix}<br \/>\n    \\end{bmatrix}\\]\n<\/div>\n<hr \/>\n<p>En el ejemplo anterior hemos considerado matrices cuadradas que resulta m\u00e1s f\u00e1cil. Pero, la multiplicaci\u00f3n 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\u00f3n est\u00e1ndar.<\/p>\n<p>El principio es el mismo: las particiones de las matrices deben ser compatibles. Si tienes una matriz \\(A\\) de tama\u00f1o \\(m \\times n\\) y una matriz \\(B\\) de tama\u00f1o \\(n \\times p\\), el producto \\(C = AB\\) ser\u00e1 una matriz de tama\u00f1o \\(m \\times p\\). Para que la multiplicaci\u00f3n por bloques funcione, la forma en que divides las columnas de \\(A\\) debe coincidir con la forma en que divides las filas de \\(B\\).<\/p>\n<p>Vamos a considerar una matriz \\(A\\) de \\(m \\times n\\) y una matriz \\(B\\) de \\(n \\times p\\).<\/p>\n<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\u00e1 una matriz de \\(r \\times t\\) bloques.<\/p>\n<p>\\[<br \/>\nA =<br \/>\n\\begin{bmatrix}<br \/>\nA_{11} &#038; \\dots &#038; A_{1s} \\\\<br \/>\n\\vdots &#038; \\ddots &#038; \\vdots \\\\<br \/>\nA_{r1} &#038; \\dots &#038; A_{rs}<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{y}<br \/>\n\\quad<br \/>\nB =<br \/>\n\\begin{bmatrix}<br \/>\nB_{11} &#038; \\dots &#038; B_{1t} \\\\<br \/>\n\\vdots &#038; \\ddots &#038; \\vdots \\\\<br \/>\nB_{s1} &#038; \\dots &#038; B_{st}<br \/>\n\\end{bmatrix}<br \/>\n\\]<\/p>\n<p>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:<\/p>\n<p>\\[<br \/>\nC_{ij} = \\sum_{k=1}^{s} A_{ik} B_{kj}<br \/>\n\\]<\/p>\n<p>La \u00fanica condici\u00f3n es que las dimensiones de los bloques deben ser compatibles para la multiplicaci\u00f3n. Esto significa que el n\u00famero de columnas de cada bloque \\(A_{ik}\\) debe ser igual al n\u00famero de filas del bloque \\(B_{kj}\\) con el que se multiplica.<\/p>\n<blockquote>\n<p><strong>Ejercicio:<\/strong> Sean la matriz \\(A\\) de \\(2 \\times 3\\) y la matriz \\(B\\) de \\(3 \\times 2\\).<br \/>\n\\[<br \/>\nA = \\begin{bmatrix}<br \/>\n1 &#038; 2 &#038; 3 \\\\<br \/>\n4 &#038; 5 &#038; 6<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{y}<br \/>\n\\quad<br \/>\nB = \\begin{bmatrix}<br \/>\n7 &#038; 8 \\\\<br \/>\n9 &#038; 10 \\\\<br \/>\n11 &#038; 12<br \/>\n\\end{bmatrix}<br \/>\n\\]<br \/>\nCalcular \\(A.B\\)<\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv8w() {\n  var htmlShow8w = document.getElementById(\"html-show8w\");\n  if (htmlShow8w.style.display === \"none\") {\n    htmlShow8w.style.display = \"block\";\n  } else {\n    htmlShow8w.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv8w()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show8w\" style=\"display: none;\">\nParticionemos \\(A\\) y \\(B\\) en bloques:<br \/>\n\\[<br \/>\nA = \\begin{bmatrix}<br \/>\nA_{11} &#038; A_{12}<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{donde}<br \/>\n\\quad<br \/>\nA_{11} = \\begin{bmatrix} 1 &#038; 2 \\\\ 4 &#038; 5 \\end{bmatrix}<br \/>\n, \\quad<br \/>\nA_{12} = \\begin{bmatrix} 3 \\\\ 6 \\end{bmatrix}<br \/>\n\\]<\/p>\n<p>\\[<br \/>\nB = \\begin{bmatrix}<br \/>\nB_{11} \\\\<br \/>\nB_{21}<br \/>\n\\end{bmatrix}<br \/>\n\\quad<br \/>\n\\text{donde}<br \/>\n\\quad<br \/>\nB_{11} = \\begin{bmatrix} 7 &#038; 8 \\\\ 9 &#038; 10 \\end{bmatrix}<br \/>\n, \\quad<br \/>\nB_{21} = \\begin{bmatrix} 11 &#038; 12 \\end{bmatrix}<br \/>\n\\]<\/p>\n<p>El producto \\(C = AB\\) ser\u00e1 una matriz de \\(2 \\times 2\\) y tendr\u00e1 una sola partici\u00f3n de bloque, \\(C_{11}\\).<br \/>\n\\[\\begin{align*}<br \/>\nC_{11} &#038;= A_{11}B_{11} + A_{12}B_{21} \\\\<br \/>\n &#038;= \\begin{bmatrix} 1 &#038; 2 \\\\ 4 &#038; 5 \\end{bmatrix} \\begin{bmatrix} 7 &#038; 8 \\\\ 9 &#038; 10 \\end{bmatrix} + \\begin{bmatrix} 3 \\\\ 6 \\end{bmatrix}<br \/>\n\\begin{bmatrix} 11 &#038; 12 \\end{bmatrix}\\\\<br \/>\n&#038;= \\begin{bmatrix} 1(7)+2(9) &#038; 1(8)+2(10) \\\\ 4(7)+5(9) &#038; 4(8)+5(10) \\end{bmatrix} + \\begin{bmatrix} 3(11) &#038; 3(12) \\\\ 6(11) &#038; 6(12) \\end{bmatrix}\\\\<br \/>\n&#038;= \\begin{bmatrix} 7+18 &#038; 8+20 \\\\ 28+45 &#038; 32+50 \\end{bmatrix} + \\begin{bmatrix} 33 &#038; 36 \\\\ 66 &#038; 72 \\end{bmatrix} \\\\<br \/>\n&#038;= \\begin{bmatrix} 25 &#038; 28 \\\\ 73 &#038; 82 \\end{bmatrix} + \\begin{bmatrix} 33 &#038; 36 \\\\ 66 &#038; 72 \\end{bmatrix} \\\\<br \/>\n&#038;= \\begin{bmatrix} 25+33 &#038; 28+36 \\\\ 73+66 &#038; 82+72 \\end{bmatrix} = \\begin{bmatrix} 58 &#038; 64 \\\\ 139 &#038; 154 \\end{bmatrix}<br \/>\n\\end{align*}<br \/>\n\\]<\/p>\n<p>El resultado final es el mismo que haciendo la multiplicaci\u00f3n de matrices de la forma convencional. La clave es que la multiplicaci\u00f3n por bloques proporciona una forma estructurada de dividir un problema complejo en subproblemas m\u00e1s peque\u00f1os y manejables.\n<\/p><\/div>\n<hr \/>\n<blockquote>\n<p><strong>Ejercicio:<\/strong> Dadas las matrices \\(A=\\begin{bmatrix}1 &#038; 5 &#038; -3 &#038; 1 &#038; 4 &#038; 3 \\\\<br \/>\n2 &#038; 0 &#038; -4 &#038; 3 &#038; 0 &#038; -4 \\\\<br \/>\n3 &#038; -1 &#038; -5 &#038; 5 &#038; -1 &#038; 5 \\\\<br \/>\n4 &#038; -2 &#038; 0 &#038; 2 &#038; -2 &#038; 0\\end{bmatrix}\\) y \\(B=\\begin{bmatrix}1 &#038; 0 &#038; 1 &#038; 0 \\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; 1 \\\\<br \/>\n1 &#038; 0 &#038; 1 &#038; 0 \\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; 1 \\\\<br \/>\n1 &#038; 0 &#038; 1 &#038; 0 \\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; 1\\end{bmatrix}\\), calcular \\(A.B\\) mediante una multiplicaci\u00f3n por bloques. <\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv6() {\n  var htmlShow6 = document.getElementById(\"html-show6\");\n  if (htmlShow6.style.display === \"none\") {\n    htmlShow6.style.display = \"block\";\n  } else {\n    htmlShow6.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv6()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show6\" style=\"display: none;\">\n<iframe loading=\"lazy\" title=\"\u00c1lgebra Lineal - Multiplicaci\u00f3n de Matrices. Ej.8 - Jes\u00fas Soto\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/WeOijHeyW9w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div>\n<hr \/>\n<blockquote>\n<p><strong>Ejercicio:<\/strong> Sean  \\[<br \/>\n    A =\\begin{bmatrix}\\mathop{-}3 &#038; 2 &#038; 0 &#038; 1\\\\<br \/>\n1 &#038; 3 &#038; 1 &#038; \\mathop{-}1\\\\<br \/>\n4 &#038; 1 &#038; 2 &#038; \\mathop{-}4\\\\<br \/>\n1 &#038; 2 &#038; 0 &#038; 3\\\\<br \/>\n2 &#038; 0 &#038; 3 &#038; 0 \\end{bmatrix}, \\quad<br \/>\n    B =\\begin{bmatrix}\\mathop{-}3 &#038; 1 &#038; 0\\\\<br \/>\n\\mathop{-}4 &#038; \\mathop{-}3 &#038; \\mathop{-}3\\\\<br \/>\n\\mathop{-}1 &#038; 0 &#038; 0\\\\<br \/>\n3 &#038; 0 &#038; 1\\end{bmatrix}\\] Divide las siguientes matrices en bloques para calcular \\(A.B\\)<\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv8b() {\n  var htmlShow8b = document.getElementById(\"html-show8b\");\n  if (htmlShow8b.style.display === \"none\") {\n    htmlShow8b.style.display = \"block\";\n  } else {\n    htmlShow8b.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv8b()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show8b\" style=\"display: none;\">\nConsideremos los bloques<br \/>\n\\[A=\\left[\\begin{array}{cc|cc}{-}3 &#038; 2 &#038; 0 &#038; 1\\\\<br \/>\n1 &#038; 3 &#038; 1 &#038; {-}1\\\\<br \/>\n4 &#038; 1 &#038; 2 &#038; {-}4\\\\ \\hline<br \/>\n1 &#038; 2 &#038; 0 &#038; 3\\\\<br \/>\n2 &#038; 0 &#038; 3 &#038; 0\\end{array}\\right]=\\begin{bmatrix} A_1&#038;A_2\\\\ A_3&#038;A_4\\end{bmatrix},\\quad B=\\left[\\begin{array}{ccc}{-}3 &#038; 1 &#038; 0\\\\<br \/>\n{-}4 &#038; {-}3 &#038; {-}3\\\\ \\hline<br \/>\n{-}1 &#038; 0 &#038; 0\\\\<br \/>\n3 &#038; 0 &#038; 1\\end{array}\\right]=\\begin{bmatrix} B_1 \\\\ B_2 \\end{bmatrix}<br \/>\n\\]<br \/>\nEl producto que buscamos ser\u00e1<br \/>\n\\[A.B=\\begin{bmatrix} A_1B_1+A_2B_2 \\\\ A_3B_1+A_4B_2 \\end{bmatrix}=\\begin{bmatrix}4 &#038; \\mathop{-}9 &#038; \\mathop{-}5\\\\<br \/>\n\\mathop{-}19 &#038; \\mathop{-}8 &#038; \\mathop{-}10\\\\<br \/>\n\\mathop{-}30 &#038; 1 &#038; \\mathop{-}7\\\\<br \/>\n\\mathop{-}2 &#038; \\mathop{-}5 &#038; \\mathop{-}3\\\\<br \/>\n\\mathop{-}9 &#038; 2 &#038; 0\\end{bmatrix}\\]\n<\/div>\n<hr \/>\n<blockquote>\n<p><strong>Ejercicio:<\/strong> Sea  \\[\\begin{bmatrix}2 &#038; 0 &#038; 2 &#038; 0 &#038; 1\\\\<br \/>\n0 &#038; 1 &#038; \\mathop{-}1 &#038; 0 &#038; 1\\\\<br \/>\n\\mathop{-}2 &#038; 0 &#038; 2 &#038; 2 &#038; \\mathop{-}1\\\\<br \/>\n1 &#038; \\mathop{-}1 &#038; 2 &#038; 0 &#038; 2\\\\<br \/>\n\\mathop{-}1 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 0 &#038; 0\\\\<br \/>\n1 &#038; \\mathop{-}1 &#038; 0 &#038; \\mathop{-}1 &#038; 0\\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; 0 &#038; 0\\end{bmatrix}\\] Utilizando la multiplicaci\u00f3n por bloques, calcular \\(\\mathbf{tr}(A.A^t)\\).<\/p>\n<p>Se define por traza de una matriz cuadrada \\(A=[a_{ij}]\\) como \\(\\mathbf{tr}(A)=\\sum a_{ii}\\).<\/p>\n<\/blockquote>\n<p><script>\nfunction showHtmlDiv8c() {\n  var htmlShow8c = document.getElementById(\"html-show8c\");\n  if (htmlShow8c.style.display === \"none\") {\n    htmlShow8c.style.display = \"block\";\n  } else {\n    htmlShow8c.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv8c()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show8c\" style=\"display: none;\">\nVemos que \\[A^t=\\begin{bmatrix}2 &#038; 0 &#038; \\mathop{-}2 &#038; 1 &#038; \\mathop{-}1 &#038; 1 &#038; 0\\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 1\\\\<br \/>\n2 &#038; \\mathop{-}1 &#038; 2 &#038; 2 &#038; \\mathop{-}1 &#038; 0 &#038; 0\\\\<br \/>\n0 &#038; 0 &#038; 2 &#038; 0 &#038; 0 &#038; \\mathop{-}1 &#038; 0\\\\<br \/>\n1 &#038; 1 &#038; \\mathop{-}1 &#038; 2 &#038; 0 &#038; 0 &#038; 0\\end{bmatrix}.\\]<br \/>\nConsideremos los bloques<br \/>\n\\[\\left[\\begin{array}{ccc|cc}2 &#038; 0 &#038; 2 &#038; 0 &#038; 1\\\\<br \/>\n0 &#038; 1 &#038; \\mathop{-}1 &#038; 0 &#038; 1\\\\<br \/>\n\\mathop{-}2 &#038; 0 &#038; 2 &#038; 2 &#038; \\mathop{-}1\\\\ \\hline<br \/>\n1 &#038; \\mathop{-}1 &#038; 2 &#038; 0 &#038; 2\\\\<br \/>\n\\mathop{-}1 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 0 &#038; 0\\\\ \\hline<br \/>\n1 &#038; \\mathop{-}1 &#038; 0 &#038; \\mathop{-}1 &#038; 0\\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; 0 &#038; 0\\end{array}\\right]=\\begin{bmatrix} A_1&#038;A_2\\\\ A_3&#038;A_4 \\\\ A_5 &#038;A_6\\end{bmatrix}\\]<br \/>\ny<br \/>\n\\[A^t=\\left[\\begin{array}{ccc|ccc|c}<br \/>\n2 &#038; 0 &#038; \\mathop{-}2 &#038; 1 &#038; \\mathop{-}1 &#038; 1 &#038; 0\\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 1\\\\<br \/>\n2 &#038; \\mathop{-}1 &#038; 2 &#038; 2 &#038; \\mathop{-}1 &#038; 0 &#038; 0\\\\ \\hline<br \/>\n0 &#038; 0 &#038; 2 &#038; 0 &#038; 0 &#038; \\mathop{-}1 &#038; 0\\\\<br \/>\n1 &#038; 1 &#038; \\mathop{-}1 &#038; 2 &#038; 0 &#038; 0 &#038; 0<br \/>\n\\end{array}\\right]=\\begin{bmatrix} B_1 &#038; B_2 &#038; B_3 \\\\ B_4 &#038; B_5 &#038; B_6\\end{bmatrix}<br \/>\n\\]<br \/>\nEl producto que buscamos ser\u00e1<br \/>\n\\[A.A^t=\\begin{bmatrix} A_1B_1+A_2B_4 &#038; A_1B_2+A_2B_5 &#038; A_1B_3+A_2B_6\\\\<br \/>\nA_3B_1+A_4B_4 &#038; A_3B_2+A_4B_5 &#038; A_3B_3+A_4B_6\\\\<br \/>\nA_5B_1+A_6B_4 &#038; A_5B_2+A_6B_5 &#038; A_5B_3+A_6B_6<br \/>\n\\end{bmatrix}=\\]\\[=\\begin{bmatrix}9 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 8 &#038; \\mathop{-}4 &#038; 2 &#038; 0\\\\<br \/>\n\\mathop{-}1 &#038; 3 &#038; \\mathop{-}3 &#038; \\mathop{-}1 &#038; 0 &#038; \\mathop{-}1 &#038; 1\\\\<br \/>\n\\mathop{-}1 &#038; \\mathop{-}3 &#038; 13 &#038; 0 &#038; 0 &#038; \\mathop{-}4 &#038; 0\\\\<br \/>\n8 &#038; \\mathop{-}1 &#038; 0 &#038; 10 &#038; \\mathop{-}2 &#038; 2 &#038; \\mathop{-}1\\\\<br \/>\n\\mathop{-}4 &#038; 0 &#038; 0 &#038; \\mathop{-}2 &#038; 3 &#038; 0 &#038; \\mathop{-}1\\\\<br \/>\n2 &#038; \\mathop{-}1 &#038; \\mathop{-}4 &#038; 2 &#038; 0 &#038; 3 &#038; \\mathop{-}1\\\\<br \/>\n0 &#038; 1 &#038; 0 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; \\mathop{-}1 &#038; 1\\end{bmatrix}\\]<br \/>\nAhora solo nos falta calcular la traza de la matriz \\[\\mathbf{tr}(A.A^t)=9+3+13+10+3+3+1=42\\]\n<\/div>\n<hr \/>\n<h3>Bibliograf\u00eda<\/h3>\n<ul>\n<li>Cap\u00edtulo 2 de \u00c1lgebra lineal y sus aplicaciones. David C. Lay. Pearson. 2016.<\/li>\n<\/ul>\n<hr \/>\n<table id=\"yzpi\" border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\" bgcolor=\"#999999\">\n<tbody>\n<tr style=\"border: 0px;\">\n<td width=\"100%\"><strong>Ejercicio:<\/strong> Sea \\(A=\\begin{bmatrix}1 &#038; 2 &#038; 3\\\\<br \/>\n4 &#038; 5 &#038; 6\\end{bmatrix}\\). \u00bfCu\u00e1nto es \\(tr(A.A^t)\\) <\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td>\n<div id=\"menu-a\">\n<ul>\n<li>32<\/li>\n<li>56<\/li>\n<li>91<\/li>\n<\/ul>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><script>\nfunction showHtmlDiv() {\n  var htmlShow = document.getElementById(\"html-show\");\n  if (htmlShow.style.display === \"none\") {\n    htmlShow.style.display = \"block\";\n  } else {\n    htmlShow.style.display = \"none\";\n  }\n}\n<\/script><\/p>\n<p><button onclick=\"showHtmlDiv()\">Soluci\u00f3n:<\/button><\/p>\n<div id=\"html-show\" style=\"display: none;\">\n<p><strong>C.)<\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>La multiplicaci\u00f3n de matrices por bloques es una t\u00e9cnica que te permite multiplicar dos matrices que han sido particionadas en submatrices, o bloques, como si estos bloques fueran los elementos individuales de&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-132","post","type-post","status-publish","format-standard","hentry","category-algebra"],"_links":{"self":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=132"}],"version-history":[{"count":8,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/132\/revisions"}],"predecessor-version":[{"id":153,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=\/wp\/v2\/posts\/132\/revisions\/153"}],"wp:attachment":[{"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clases.jesussoto.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}