G4 Mat2120
G4 Mat2120
G4 Mat2120
4 Multiplicación de matrices 43
Pa e
at
ta
n
l
To
Pa
0 1
650 600 980 A Santiago
E =@
480 450 840 Viña del Mar
mientras que la siguiente matriz nos muestra los precios por kilo de los proveedores
.3
.1
.2
ov
ov
ov
Pr
Pr
Pr
0 1
1.100 900 1.050 Palta
B C
B C
P = @ 800 830 870 A Tomate
750 735 650 Pan
¿Qué proveedor es más conveniente? ¿Qué podemos hacer para saber? Al igual que en
nuestro caso anterior, podemos calcular el total del precio de cada producto multiplicado
por la cantidad de producto, pero esta vez para cada proveedor y para cada ciudad. Por
ejemplo, el proveedor 1 nos cobrará
Ahora bien, esto es muy parecido a lo que hicimos antes, sólo que una vez para cada
columna de la matriz de precios. En el fondo, es como si hubiéramos realizado tres
multiplicaciones de matriz por vectores columna, algo como
0 1
✓ ◆ 1.100 ✓ ◆
650 600 980 @ 1.930.000
· 800 A =
480 450 840 1.518.000
750
0 1
✓ ◆ 900 ✓ ◆
650 600 980 @ A 1.803.300
· 830 =
480 450 840 1.422.900
735
0 1
✓ ◆ 1.050 ✓ ◆
650 600 980 @ 1.841.500
· 870 A =
480 450 840 1.441.500
650
Cada uno de los resultados anteriores no se originó en realidad de tres vectores columna
distintos, si no que de una matriz que tenı́a tres columnas. Esto implica que, en realidad,
serı́a más lógico expresar el resultado como una sola matriz
✓ ◆
1.930.000 1.803.300 1.841.500
1.518.000 1.422.900 1.441.500
¿Es difı́cil de ver? Quizás, pero hay una visualización que puede ayudar a comprender
el proceso: escribir la segunda matriz más arriba y el resultado entre las dos, como en
el siguiente diagrama
0 1
1.100 900 1.050
B 800 830 870 C
@ A
750 735 650
0 10 1
@ 650 600 980 A@ 1.930.000 1.803.300 1.841.500 A
480 450 840 1.518.000 1.422.900 1.441.500
¿Por qué motivo puede ser mejor ponerlo de esa forma? Porque cada elemento de
la matriz resultante queda en el cruce de la fila y columna que le dieron origen. Por
ejemplo
0 1
1.100 900 1.050
B 800 830 870 C
@ A
750 735 650
0 10 1
@ 650 600 980 A@ 1.930.000 1.803.300 1.841.500 A
480 450 840 1.518.000 1.422.900 1.441.500
0 1
b11 b12 ... b1n
B C
B C
B C
B
B b21 b22 ... b2n C
C
B C
B C
12
B C
·b
B .. .. .. .. C
. . . .
1
a2
B C
+
22
B C
·b
B C
2
...
+
..
.+
q2
q
·b
a2
0 1 0 1
a11 a12 ... a1q c11 c12 ... c1n
B C B C
B C B C
B a21 a22 ... a2q C B c21 c22 ... c2n C
B C B C
B C B C
B C B C
B .. .. .. C B .. .. .. C
B .. C B .. C
B . . . . C B . . . . C
B C B C
B C B C
@ am1 am2 ... amq A @ cm1 cm2 ... cmn A
Guı́a 4.1
0 M N 1 0 ene feb 1
Acero M
1 2 290 312
A=@ A Aluminio B=@ A N
3 2 345 413
P2. Una pequeña cadena tiene restaurantes de comida rápida en Santiago, Concepción
y Antofagasta, en los que vende hamburguesa, completos y malteada. En un fin
de semana, las cantidades de cada comida según cada sucursal se distribuyeron
de acuerdo con la matriz V , donde las filas corresponden a los productos y las
columnas a las sucursales, mientras que los precios, en pesos, de cada producto
están expresados en la matriz P.
0 1
1.300 900 800
V = @2.100 1.700 1.500A P = 3.600 900 1.500
1.500 1.200 900
Si I = P ·V
#listo!
C = A.dot(B)
print(C)
# el resultado es
# [[ 24 12 8 36]
# [ 8 13 10 25]
# [ 50 61 46 127]]
print(M)
# el resultado es
# [[2. 3.]
# [3. 4.]]
¿Qué es lambda i, j: (i+1) + (j+1)? Todo eso es el primer argumento, la
función que define a los elementos de la matriz. lambda i, j: significa que
definiremos una función, que por simplificar diremos que es local. (i+1) + (j+1)
es nuestra función, la suma de los subı́ndices. ¿Por qué i+1 y j+1? Porque Python
comienza contando los ı́ndices en 0, mientras que en matemática partimos de 1.
Finalmente, el segundo argumento de la función, (2,2), significa que pedimos una
matriz de 2 filas y 2 columnas.
Ejemplo 2 bis
for i in range(2):
for j in range(2):
fila=i+1 #corrigiendo el desfase del subı́ndice "i"
columna=j+1 #corrigiendo el desfase del subı́ndice "j"
M[i][j]=fila + columna
print(M[i]) #se imprime en pantalla cada columna
Actividad 3.5 ¿Podrı́as hacer los ejercicios 1 y 2 pero esta vez en Python?
Guı́a 4.2
P3. Una fábrica para un mismo tipo de artı́culo eléctrico produce 2 modelos, A y
B. Las filas de la matriz M, en orden, nos muestran la cantidad de transistores y
resistores que se requieren por cada artı́culo, según cada modelo. Por otra parte,
las filas de la matriz Q nos reportan las cantidades producidas de cada modelo
para las 3 primeras semanas del mes pasado.
✓ ◆ ✓ ◆
9 14 200 240 220
M= Q=
4 5 175 210 215
P4. Una compañı́a, que fabrica un determinado producto, tiene 4 plantas de pro-
ducción y 5 bodegas de almacenamiento. La matriz T = (ti j ) nos indica las
unidades de este producto que se generan mensualmente en la planta i, y que son
transportadas a la bodega j para quedar almacenadas ahı́ durante ese mes que
fueron producidas.
Además, tenemos la matriz C = (ci j ) que nos detalla para el primer semestre del
presente año el costo en dólares de almacenar una unidad del producto durante el
mes j en la bodega i.
bodega 1
bodega 2
bodega 3
de a 4
5
ga
m s1
m s2
m s3
m 4
m s5
6
bodeg
es
es
e
e
e
e
m
bo
0 1 0 1
planta 1 bodega 1
A planta 2 B C bodega 2
T =@ planta 3 C=@ A bodega 3
planta 4 bodega 4
bodega 5
ti j = 100i j 1 i 4 y 1 j 5
ci j = 3i + 5 j 1 i 5 y 1 j 6
entonces
a) Indique el orden de cada matriz y analice si es posible realizar C · T . Justi-
fique su respuesta.
b) Determine todos los elementos que componen cada matriz.
c) Determine la matriz G = T ·C.
d) Interprete los elementos t14 , c52 y g35 .
e) ¿Cuánto cuesta almacenar una unidad en la bodega 4 durante marzo de este
año?
f) ¿A cuánto asciende el total de dinero que gasta esta empresa por almacenar
la producción mensual de la planta 2 durante el mes de abril?
P5. La matriz A = (ai j ) nos indica la cantidad de acciones tipo j, pertenecientes a un
holding, que posee el inversionista i.
Por otra parte, la matriz E = (ei j ) nos detalla el valor unitario de la acción tipo i
de este holding cotizado en euros durante el dı́a hábil j de la semana pasada.
Las matrices A y E están definidas respectivamente por las expresiones
ai j = 20i j, 1 i 15 y 1 j 10
ei j = 4i + j, 1 i 10 y 1 j 5.
Problemas de la sección
P1. Marcela, por instrucción de su nutricionista, debe seguir un régimen de 3 dı́as. En los cuales, al desayunar
sólo debe consumir galletas de agua y mermelada sin azúcar. En la matriz M se presenta un informe
nutricional por 1 gramo de galleta de agua y 1 gramo de mermelada sin azúcar. Por otro lado, en la matriz G
se indican las cantidades de gramos de ambos alimentos que debe consumir Marcela en el desayuno para los
3 dı́as que dura este régimen.
sin azúcar (1 g)
de agua (1 g)
Mermelada
Galletas
0 1
dı́a 2
dı́a 3
dı́a 1
4,04 0,39
B C Energı́a (kcal) 0 1
B 69 4 C Proteı́nas (mg)
B C
B C 30 45 50 A Galletas de agua (1 g)
M = B 61 2 C Grasa total (mg) G=@
B
B 804
C
CCarbohidratos (mg) 45 60 75 Mermelada sin azúcar (1 g)
@ 66 A
73 11 Sodio (mg)
Si R = M · G, entonces
a) Indique el orden de M, G y R.
b) Interprete los elementos m32 y g11 .
c) Determine e interprete los elementos r21 y r23 .
d) ¿Cuántos miligramos (mg) de sodio ingiere Marcela en el desayuno del tercer dı́a?
P2. Este año la fábrica de bicicletas Expend (ver el problema 1 de esta guı́a) produce 10 modelos de bicicletas, y
en el diseño de estos modelos se estan utilizando en distintas proporciones 6 materiales. De este modo, la
matriz M = (mi j ) nos indica las cantidades, medidas en kilogramos, de material i que requiere cada bicicleta
de modelo j, mientras que la matriz P = (pi j ) nos entrega un reporte de la cantidad de bicicletas producidas
del modelo i durante el mes j del presente año. Considere que esta segunda matriz tiene información sólo
de los 8 primeros meses.
Las matrices M y P vienen definidas por
ij
mi j = 1 + , 1 i 6 y 1 j 10
60
pi j = 300 + 15i + 21 j, 1 i 10 y 1 j 8