Multiplicações de Matrizes
Lição 18 de 18 do curso Fundamentos de Numpy da Coddy.
A multiplicação de matrizes é uma série de produtos escalares que produzem uma nova matriz.
Como funciona?
Suponha que tenhamos duas matrizes A com o formato (3, 2) e B com o formato (2, 4).
A multiplicação de A e B resultará em uma nova matriz com o formato (3, 4).
As dimensões internas das matrizes devem coincidir (neste caso, tanto A quanto B possuem 2 -> (3,2)(2,4)=(3,4))
A multiplicação de A*b é o
- produto escalar da Linha 1 de A com a Coluna 1 de B é o resultado do elemento em [1, 1]
- produto escalar da Linha 1 de A com a Coluna 2 de B é o resultado do elemento em [1, 2]
- ...
- ...
- produto escalar da Linha 2 de A com a Coluna 1 de B é o resultado do elemento em [2, 1]
- produto escalar da Linha 2 de A com a Coluna 2 de B é o resultado do elemento em [2, 2]
- ...
- ...
- etc.
Exemplo:
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 |
E após o cálculo:
| 29 | 32 | 35 | 38 |
| 65 | 72 | 79 | 86 |
| 101 | 112 | 123 | 134 |
Como fazer isso no numpy?
Existem 3 maneiras de multiplicar matrizes:
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)Saída:
array([[ 29, 32, 35, 38],
[ 65, 72, 79, 86],
[101, 112, 123, 134]])Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
Crie uma função chamada matrix_master que recebe três listas python e retorna a multiplicação de matrizes das duas primeiras listas e realiza um produto escalar do resultado com a última lista
Experimente você mesmo
import numpy as np
def matrix_master(lst1, lst2, lst3):
# complete
Todas as lições de Fundamentos de Numpy
2Criação de Arrays N-Dimensionais
Dimensões SuperioresEntendendo FormatosPreencher com Valores FixosTipos do NumpyIntervalosRedimensionamento