Função Dot do Numpy

Beginner

Introdução

Neste laboratório, exploraremos a função dot() da biblioteca Numpy, que é usada principalmente para calcular o produto escalar (dot product) de dois vetores. Também veremos como esta função pode lidar com arrays 2D como matrizes e realizar a multiplicação de matrizes.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Entenda a Sintaxe de numpy.dot()

A sintaxe necessária para usar a função dot() é a seguinte:

numpy.dot(a, b, out=None)

Onde:

  • a é o primeiro parâmetro. Se "a" for complexo, então seu conjugado complexo é usado para o cálculo do produto escalar (dot product).
  • b é o segundo parâmetro. Se "b" for complexo, então seu conjugado complexo é usado para o cálculo do produto escalar (dot product).
  • out é o argumento de saída. Se não for usado, então deve ter exatamente o tipo que seria retornado. Caso contrário, deve ser C-contíguo e seu dtype deve ser o dtype que seria retornado para dot(a, b).

Calcular o Produto Escalar de Escalares e Arrays 1D

Nesta etapa, usaremos a função dot() para calcular o produto escalar (dot product) de escalares e arrays 1D.

import numpy as np

## Calcular o produto escalar de valores escalares
a = np.dot(8, 4)
print("O produto escalar dos valores escalares dados acima é: ")
print(a)

## Calcular o produto escalar de dois arrays 1D
vect_a = 4 + 3j
vect_b = 8 + 5j

dot_product = np.dot(vect_a, vect_b)
print("O produto escalar de dois arrays 1D é: ")
print(dot_product)

Realizar Multiplicação de Matrizes com Arrays 2D

Nesta etapa, usaremos a função dot() para realizar a multiplicação de matrizes com arrays 2D.

import numpy as np

a = np.array([[50,100],[12,13]])
print("A matriz a é:")
print(a)

b = np.array([[10,20],[12,21]])
print("A matriz b é:")
print(b)

dot = np.dot(a, b)
print("O produto escalar (dot product) das matrizes a e b é:")
print(dot)

Tratamento de Erros

Nesta etapa, exploraremos o ValueError que é lançado quando a última dimensão de a não tem o mesmo tamanho que a penúltima dimensão de 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]])

## Error handling
error = np.dot(a, b)
print(error)

Resumo

Neste laboratório, cobrimos a função dot() da biblioteca Numpy. Aprendemos como usar esta função com sua sintaxe, e os valores retornados pela função foram explicados com a ajuda de exemplos de código. Também exploramos o tratamento de erros (error handling) da função.