Menu
Coddy logo textTech

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:

12
34
56

Matriz B:

78910
11121314

Resultado:

1*7 + 2*111*8 + 2*121*9 + 2*131*10 + 2*14
3*7 + 4*113*8 + 4*123*9 + 4*133*10 + 4*14
5*7 + 6*115*8 + 6*125*9 + 6*135*10 + 6*14

E após o cálculo:

29323538
65727986
101112123134

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]])
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

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