Multiplicaciones de matrices
Lección 18 de 18 del curso Fundamentos de Numpy de Coddy.
La multiplicación de matrices es una serie de productos escalares que producen una nueva matriz.
¿Cómo funciona?
Supongamos que tenemos dos matrices A con la forma de (3, 2) y B con la forma (2, 4).
La multiplicación de A y B dará una nueva matriz con la forma (3, 4).
Las dimensiones internas de las matrices deben coincidir (en este caso, tanto A como B tienen 2 -> (3,2)(2,4)=(3,4))
La multiplicación de A*b es el
- producto escalar de la Fila 1 de A con la Columna 1 de B es el resultado del elemento en [1, 1]
- producto escalar de la Fila 1 de A con la Columna 2 de B es el resultado del elemento en [1, 2]
- ...
- ...
- producto escalar de la Fila 2 de A con la Columna 1 de B es el resultado del elemento en [2, 1]
- producto escalar de la Fila 2 de A con la Columna 2 de B es el resultado del elemento en [2, 2]
- ...
- ...
- etc.
Ejemplo:
Matriz A:
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
Matriz B:
| 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 |
Resultado:
| 1*7 + 2*11 | 1*8 + 2*12 | 1*9 + 2*13 | 1*10 + 2*14 |
| 3*7 + 4*11 | 3*8 + 4*12 | 3*9 + 4*13 | 3*10 + 4*14 |
| 5*7 + 6*11 | 5*8 + 6*12 | 5*9 + 6*13 | 5*10 + 6*14 |
Y después de calcular:
| 29 | 32 | 35 | 38 |
| 65 | 72 | 79 | 86 |
| 101 | 112 | 123 | 134 |
¿Cómo hacerlo en numpy?
Hay 3 formas de multiplicar matrices:
np.matmul(matrix1, matrix2)matrix1.dot(matrix2)A @ B
import numpy as np
A = np.array([[1, 2], [3, 4], [5, 6]])
B = np.array([[7, 8, 9, 10], [11, 12, 13, 14]])
np.matmul(A,B)Salida:
array([[ 29, 32, 35, 38],
[ 65, 72, 79, 86],
[101, 112, 123, 134]])Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
Crea una función llamada matrix_master que reciba tres listas de Python y devuelva la multiplicación de matrices de las dos primeras listas y realice un producto punto del resultado con la última lista
Pruébalo tú mismo
import numpy as np
def matrix_master(lst1, lst2, lst3):
# complete
Todas las lecciones de Fundamentos de Numpy
2Creación de arreglos N-dimensionales
Dimensiones superioresComprendiendo las formasLlenar con valores fijosTipos de NumPyRangoRedimensionar