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
dtypedeve ser odtypeque seria retornado paradot(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.