Pesquisa de site

Calcule o produto interno de vetores para matrizes-D usando NumPy em Python


O produto interno é uma das operações mais importantes nas operações matemáticas da álgebra linear, que recebe dois vetores como entrada e fornece o valor escalar como saída. Também é conhecido como produto escalar ou produto escalar. O produto interno dos dois vetores é dado como segue.

a . b = ||a|| ||b|| cos(Ø)

Onde,

  • ||a|| e ||b|| são as magnitudes dos vetores a e b, respectivamente

  • Ø é o ângulo entre os vetores a e b

  • um. b é o produto escalar de a e b

Cálculo do produto interno

Se quisermos calcular o produto interno ou produto escalar das matrizes, ele é dado como a soma dos produtos dos respectivos elementos das matrizes. Vamos pegar as duas matrizes a e b da seguinte maneira.

a = [a1, a2, a3]
b = [b1, b2, b3]

A seguir está a expressão matemática das matrizes para cálculo do produto interno.

a . b = a1 * b1 + a2 * b2 + a3 * b3

Calculando o produto interno usando Numpy

Podemos calcular o produto escalar das matrizes usando dot() na biblioteca Numpy.

Sintaxe

A seguir está a sintaxe para calcular o produto interno de dois elementos do array usando a função dot().

np.dot(arr1, arr2)

Onde,

  • Numpy é o nome da biblioteca

  • np é o nome alternativo da biblioteca

  • ponto é a função para encontrar o produto interno

  • arr1 e arr2 são as matrizes de entrada

Exemplo

Neste exemplo, quando fornecemos duas matrizes 1-d como argumentos de entrada para a função dot(), o produto escalar ou produto interno será retornado como saída.

import numpy as np
a = np.array([12,30,45])
b = np.array([23,89,50])
inner_product = np.dot(a,b)
print("The Inner product of the two 1-d arrays:", inner_product)

Saída

The Inner product of the two 1-d arrays: 5196

Exemplo

A seguir está um exemplo para trabalhar com a função dot() para calcular o produto interno das matrizes 1-d.

import numpy as np
a = np.array([34,23,98,79,90,34,23,67])
b = np.array([22,1,95,14,91,5,24,12])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:",inner_product)

Saída

The Inner product of the two 2-d arrays: 20903

Exemplo

A função dot() aceita apenas arrays quadrados como argumentos. Se tentarmos passar valores diferentes de arrays quadrados, ocorrerá um erro.

import numpy as np
a = np.array([[34,23,98,79],[90,34,23,67]])
b = np.array([[22,1,95,14],[91,5,24,12]])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:",inner_product)

Erro

Traceback (most recent call last):
  File "/home/cg/root/64d07b786d983/main.py", line 4, in <module>
inner_product = np.dot(a,b)
  File "<__array_function__ internals>", line 200, in dot
ValueError: shapes (2,4) and (2,4) not aligned: 4 (dim 1) != 2 (dim 0)

Exemplo

No exemplo a seguir, estamos tentando calcular o produto interno das matrizes 2-d, usando a função dot().

import numpy as np
a = np.array([[34,23],[90,34]])
b = np.array([[22,1],[91,5]])
inner_product = np.dot(a,b)
print("The Inner product of the two 2-d arrays:", inner_product)

Saída

The Inner product of the two 2-d arrays: [[2841  149][5074  260]]

Exemplo

Agora vamos tentar calcular o produto interno dos vetores passando o array 3-d como argumento para a função dot().

import numpy as np
a = np.array([[[34,23],[90,34]],[[43,23],[10,34]]])
b = np.array([[[22,1],[91,5]],[[22,1],[91,5]]])
inner_product = np.dot(a,b)
print("The Inner product of the two 3-d arrays:", inner_product)

Saída

The Inner product of the two 3-d arrays: [[[[2841  149]
   [2841  149]]

  [[5074  260]
   [5074  260]]]


 [[[3039  158]
   [3039  158]]

  [[3314  180]
   [3314  180]]]]

Artigos relacionados: