Multiplicación de matrices por...
Transcript of Multiplicación de matrices por...
Multiplicacion de matrices por bloques
Egor Maximenko
http://www.egormaximenko.com
Seminario “Matrices y operadores”
Escuela Superior de Fısica y Matematicas
Instituto Politecnico Nacional
Mexico
2020-09-09
1 Notacion para submatrices
2 Particion de una matriz en bloques
3 Multiplicacion de matrices por bloques
4 Ejemplos y aplicaciones
Plan
1 Notacion para submatrices
2 Particion de una matriz en bloques
3 Multiplicacion de matrices por bloques
4 Ejemplos y aplicaciones
Notacion para los componentes de una matriz
Si A ∈Mm×n(C), j ∈ {1, . . . ,m}, k ∈ {1, . . . , n},entonces Aj
k es el componente de A en el j-esimo renglon y la k-esima columna.
Ejemplo.
A ∈M2×3(C), A =
[A1
1 A12 A1
3
A21 A2
2 A23
].
Notacion para los componentes de una matriz
Si A ∈Mm×n(C), j ∈ {1, . . . ,m}, k ∈ {1, . . . , n},entonces Aj
k es el componente de A en el j-esimo renglon y la k-esima columna.
Ejemplo.
A ∈M2×3(C), A =
[A1
1 A12 A1
3
A21 A2
2 A23
].
Submatrices
A =
A11 A1
2 A13 A1
4 A15
A21 A2
2 A23 A2
4 A25
A31 A3
2 A33 A3
4 A35
,
A1,32,3,5 =
[A1
2 A13 A1
5
A32 A3
3 A35
]
En general, si A ∈Mm×n(C),
1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,
Aj1,...,jpk1,...,kq
:=[Ajrks
]p,qr ,s=1
.
Submatrices
A =
A11 A1
2 A13 A1
4 A15
A21 A2
2 A23 A2
4 A25
A31 A3
2 A33 A3
4 A35
, A1,32,3,5 =
[A1
2 A13 A1
5
A32 A3
3 A35
]
En general, si A ∈Mm×n(C),
1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,
Aj1,...,jpk1,...,kq
:=[Ajrks
]p,qr ,s=1
.
Submatrices
A =
A11 A1
2 A13 A1
4 A15
A21 A2
2 A23 A2
4 A25
A31 A3
2 A33 A3
4 A35
, A1,32,3,5 =
[A1
2 A13 A1
5
A32 A3
3 A35
]
En general, si A ∈Mm×n(C),
1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,
Aj1,...,jpk1,...,kq
:=[Ajrks
]p,qr ,s=1
.
Submatrices
A =
A11 A1
2 A13 A1
4 A15
A21 A2
2 A23 A2
4 A25
A31 A3
2 A33 A3
4 A35
, A1,32,3,5 =
[A1
2 A13 A1
5
A32 A3
3 A35
]
En general, si A ∈Mm×n(C),
1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,
Aj1,...,jpk1,...,kq
:=[Ajrks
]p,qr ,s=1
.
Submatrices
A =
A11 A1
2 A13 A1
4 A15
A21 A2
2 A23 A2
4 A25
A31 A3
2 A33 A3
4 A35
, A1,32,3,5 =
[A1
2 A13 A1
5
A32 A3
3 A35
]
En general, si A ∈Mm×n(C),
1 ≤ j1 < j2 < . . . < jp ≤ m, 1 ≤ k1 < k2 < . . . < kq ≤ n,
Aj1,...,jpk1,...,kq
:=[Ajrks
]p,qr ,s=1
.
Plan
1 Notacion para submatrices
2 Particion de una matriz en bloques
3 Multiplicacion de matrices por bloques
4 Ejemplos y aplicaciones
Particion de una matriz en bloques
A =E F
G H
r
m − r
s n − s
.
A1,...,r1,...,s = E , Aj
k = E jk (1 ≤ j ≤ r , 1 ≤ k ≤ s),
A1,...,rs+1,...,n = F , Aj
k = F jk−s (1 ≤ j ≤ r , s + 1 ≤ k ≤ n),
Ar+1,...,m1,...,s = G , Aj
k = G j−rk (r + 1 ≤ j ≤ m, 1 ≤ k ≤ s),
Ar+1,...,ms+1,...,n = H , Aj
k = F j−rk−s (r + 1 ≤ j ≤ m, s + 1 ≤ k ≤ n).
Plan
1 Notacion para submatrices
2 Particion de una matriz en bloques
3 Multiplicacion de matrices por bloques
4 Ejemplos y aplicaciones
Multiplicacion de matrices por bloques
ProposicionSean
A =
[E F
G H
], B =
[V W
X Y
].
Entonces
AB =
[EV + FX EW + FY
GV + HX GW + HY
].
Otra forma de la misma regla
A =
[A1,...,r
1,...,s A1,...,rs+1,...,n
Ar+1,...,m1,...,s Ar+1,...,m
s+1,...,n
], B =
[B1,...,s
1,...,t B1,...,st+1,...,p
B s+1,...,n1,...,t B s+1,...,n
t+1,...,p
].
Entonces
(AB)1,...,r1,...,t = A1,...,r
1,...,sB1,...,s1,...,t + A1,...,r
s+1,...,nBs+1,...,n1,...,t ,
(AB)1,...,rt+1,...,p = A1,...,r
1,...,sB1,...,st+1,...,p + A1,...,r
s+1,...,nBs+1,...,nt+1,...,p ,
(AB)r+1,...,m1,...,t = Ar+1,...,m
1,...,s B1,...,s1,...,t + Ar+1,...,m
s+1,...,n Bs+1,...,n1,...,t ,
(AB)r+1,...,mt+1,...,p = Ar+1,...,m
1,...,s B1,...,st+1,...,p + Ar+1,...,m
s+1,...,n Bs+1,...,nt+1,...,p .
Demostremos que
(AB)1,...,rt+1,...,p︸ ︷︷ ︸L
= A1,...,r1,...,sB
1,...,st+1,...,p + A1,...,r
s+1,...,nBs+1,...,nt+1,...,p︸ ︷︷ ︸
R
.
L y R son matrices r × (p − t).
Ljk = (AB)jt+k =n∑
u=1
AjuB
ut+k =
s∑u=1
AjuB
ut+k +
n∑u=s+1
AjuB
ut+k
=s∑
u=1
AjuB
ut+k +
n−s∑v=1
Ajv+sB
v+st+k
=s∑
u=1
(A1,...,r1,...,s)
ju(B1,...,s
t+1,...,p)uk +n−s∑v=1
(A1,...,rs+1,...,n)jv (B s+1,...,n
t+1,...,p )vk = R jk .
Plan
1 Notacion para submatrices
2 Particion de una matriz en bloques
3 Multiplicacion de matrices por bloques
4 Ejemplos y aplicaciones
Ejemplo: el producto de dos matrices
triangulares inferiores por bloques
[E 0r×(n−s)
G H
][V 0(n−s)×(p−t)
X Y
]=
[EV 0r×(p−t)
GV + HX HY
].
Ejemplo: en el producto de una matriz por un vector
separar el ultimo renglon y la ultima columna
M =
[A u
v> ω
], x =
[y
ζ
].
Entonces
Mx =
[Ay + uζ
v>y + ωζ
].
Ejemplo: multiplicacion de matrices diagonales por bloques
P1 0 0
0 P2 0
0 0 P3
Q1 0 0
0 Q2 0
0 0 Q3
=
P1Q1 0 0
0 P2Q2 0
0 0 P3Q3
.Aquı se usa una version mas general de la regla.
Algunas aplicaciones
Una demostracion del teorema de Jacobi sobre el menor complementario.
Inversion de matrices por bloques:[A B
C D
]−1
=
[A−1 + A−1BS−1CA−1 −A−1BS−1
−S−1CA−1 S−1
], S := D − CA−1B .
Formula para la inversa de la suma (Woodbury):
(A + UCV )−1 = A−1 − A−1U(C−1 + VA−1U
)−1VA−1.
El algoritmo de Strassen para multiplicar matrices.