Está en la página 1de 21

Multiplicación de matrices por bloques

Egor Maximenko
http://www.egormaximenko.com

Seminario “Matrices y operadores”

Escuela Superior de Fı́sica y Matemáticas


Instituto Politécnico Nacional
México

2020-09-09
1 Notación para submatrices

2 Partición de una matriz en bloques

3 Multiplicación de matrices por bloques

4 Ejemplos y aplicaciones
Plan

1 Notación para submatrices

2 Partición de una matriz en bloques

3 Multiplicación de matrices por bloques

4 Ejemplos y aplicaciones
Notación para los componentes de una matriz

Si A ∈ Mm×n (C), j ∈ {1, . . . , m}, k ∈ {1, . . . , n},


entonces Ajk es el componente de A en el j-ésimo renglón y la k-ésima columna.
Notación para los componentes de una matriz

Si A ∈ Mm×n (C), j ∈ {1, . . . , m}, k ∈ {1, . . . , n},


entonces Ajk es el componente de A en el j-ésimo renglón y la k-ésima columna.

Ejemplo. " #
A11 A12 A13
A ∈ M2×3 (C), A= .
A21 A22 A23
Submatrices
 
A11 A12 A13 A14 A15
A =  A21 A22 A23 A24 A25  ,
 

A31 A32 A33 A34 A35


Submatrices
 
A11 A12 A13 A14 A15
1,3
A =  A21 A22 A23 A24 A25  , A2,3,5 =
 

A31 A32 A33 A34 A35


Submatrices
 
A11 A12 A13 A14 A15
1,3
A =  A21 A22 A23 A24 A25  , A2,3,5 =
 

A31 A32 A33 A34 A35


Submatrices
 
A11 A12 A13 A14 A15 " #
1,3 A12 A13 A15
A =  A21 A22 A23 A24 A25  , A2,3,5 =
 
A32 A33 A35
A31 A32 A33 A34 A35

En general, si A ∈ Mm×n (C),

1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,


Submatrices
 
A11 A12 A13 A14 A15 " #
1,3 A12 A13 A15
A =  A21 A22 A23 A24 A25  , A2,3,5 =
 
A32 A33 A35
A31 A32 A33 A34 A35

En general, si A ∈ Mm×n (C),

1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,

j ,...,j jr p,q
Ak11,...,kpq

:= Aks r ,s=1.
Plan

1 Notación para submatrices

2 Partición de una matriz en bloques

3 Multiplicación de matrices por bloques

4 Ejemplos y aplicaciones
Partición de una matriz en bloques
s n−s
 
r  E F
A= .


m−r G H

A1,...,r
1,...,s = E , Ajk = Ekj (1 ≤ j ≤ r , 1 ≤ k ≤ s),

A1,...,r
s+1,...,n = F , Ajk = Fk−s
j
(1 ≤ j ≤ r , s + 1 ≤ k ≤ n),
r +1,...,m
A1,...,s = G, Ajk = Gkj−r (r + 1 ≤ j ≤ m, 1 ≤ k ≤ s),
r +1,...,m
As+1,...,n = H, Ajk = Fk−s
j−r
(r + 1 ≤ j ≤ m, s + 1 ≤ k ≤ n).
Plan

1 Notación para submatrices

2 Partición de una matriz en bloques

3 Multiplicación de matrices por bloques

4 Ejemplos y aplicaciones
Multiplicación de matrices por bloques

Proposición
Sean " # " #
E F V W
A= , B= .
G H X Y
Entonces " #
EV + FX EW + FY
AB = .
GV + HX GW + HY
Otra forma de la misma regla
" # " #
1,...,r
A1,...,s A1,...,r
s+1,...,n
1,...,s
B1,...,t 1,...,s
Bt+1,...,p
A= r +1,...,m r +1,...,m , B= s+1,...,n s+1,...,n .
A1,...,s As+1,...,n B1,...,t Bt+1,...,p
Entonces

(AB)1,...,r 1,...,r 1,...,s 1,...,r s+1,...,n


1,...,t = A1,...,s B1,...,t + As+1,...,n B1,...,t ,

(AB)1,...,r 1,...,r 1,...,s 1,...,r s+1,...,n


t+1,...,p = A1,...,s Bt+1,...,p + As+1,...,n Bt+1,...,p ,

(AB)r1,...,t
+1,...,m
= Ar1,...,s
+1,...,m 1,...,s
B1,...,t + Ars+1,...,n
+1,...,m s+1,...,n
B1,...,t ,

(AB)rt+1,...,p
+1,...,m
= Ar1,...,s
+1,...,m 1,...,s
Bt+1,...,p + Ars+1,...,n
+1,...,m s+1,...,n
Bt+1,...,p .
Demostremos que

(AB)1,...,r 1,...,r 1,...,s 1,...,r s+1,...,n


t+1,...,p = A1,...,s Bt+1,...,p + As+1,...,n Bt+1,...,p .
| {z } | {z }
L R

L y R son matrices r × (p − t).


n
X s
X n
X
Ljk = (AB)jt+k = Aju Bt+k
u
= u
Aju Bt+k + Aju Bt+k
u

u=1 u=1 u=s+1


s
X n−s
X
= u
Aju Bt+k + Ajv +s Bt+k
v +s

u=1 v =1
Xs n−s
X
= (A1,...,r j 1,...,s u
1,...,s )u (Bt+1,...,p )k + 1,...,r
(As+1,...,n s+1,...,n v
)jv (Bt+1,...,p )k = Rkj .
u=1 v =1
Plan

1 Notación para submatrices

2 Partición de una matriz en bloques

3 Multiplicación de matrices por bloques

4 Ejemplos y aplicaciones
Ejemplo: el producto de dos matrices
triangulares inferiores por bloques

" #" # " #


E 0r ×(n−s) V 0(n−s)×(p−t) EV 0r ×(p−t)
= .
G H X Y GV + HX HY
Ejemplo: en el producto de una matriz por un vector
separar el último renglón y la última columna

" # " #
A u y
M= , x= .
v> ω ζ
Entonces " #
Ay + uζ
Mx = .
v > y + ωζ
Ejemplo: multiplicación de matrices diagonales por bloques

    
P1 0 0 Q1 0 0 P1 Q1 0 0
 0 P2 0   0 Q2 0  =  0 P2 Q2 0 .
    

0 0 P3 0 0 Q3 0 0 P3 Q3

Aquı́ se usa una versión más general de la regla.


Algunas aplicaciones

Una demostración del teorema de Jacobi sobre el menor complementario.


Inversión de matrices por bloques:
" #−1 " #
A B A−1 + A−1 BS −1 CA−1 −A−1 BS −1
= , S := D − CA−1 B.
C D −S −1 CA−1 S −1

Fórmula para la inversa de la suma (Woodbury):


−1
(A + UCV )−1 = A−1 − A−1 U C −1 + VA−1 U VA−1 .

El algoritmo de Strassen para multiplicar matrices.

También podría gustarte