Calcule o produto externo de dois vetores usando NumPy em Python
O produto externo de dois vetores é a matriz obtida pela multiplicação de cada elemento do vetor A por cada elemento do vetor B. O produto externo dos vetores aeb é dado como a ⊗ b. A seguir está a fórmula matemática para calcular o produto externo.
a ⊗ b = [a[0] * b, a[1] * b, ..., a[m-1] * b]
Onde,
a, b são os vetores.
denota a multiplicação elemento a elemento de dois vetores.
A saída do produto externo é uma matriz na qual i e j são os elementos da matriz, onde a i-ésima linha é o vetor obtido pela multiplicação do i-ésimo elemento do vetor 'a' pelo i-ésimo elemento do vetor 'b'.
Calculando o produto externo usando Numpy
No Numpy, temos uma função chamada outer() para calcular o produto externo dos dois vetores.
Sintaxe
A seguir está a sintaxe da função outer() –
np.outer(array1, array2)
Onde,
Exterior é a função.
array1 e array2 são as matrizes de entrada.
Exemplo
No exemplo a seguir, estamos tentando calcular o produto externo de duas matrizes numpy usando a função outer() –
import numpy as np
a = np.array([34,23,90,34])
b = np.array([90,34,43,23])
print("The input arrays:",a,b)
outer_product = np.outer(a,b)
print("The Outer product of the given input arrays:",outer_product)
Saída
The input arrays: [34 23 90 34] [90 34 43 23]
The Outer product of the given input arrays: [[3060 1156 1462 782]
[2070 782 989 529]
[8100 3060 3870 2070]
[3060 1156 1462 782]]
Exemplo
Vamos ver outro exemplo onde calculamos o produto externo de arrays 2D usando a função outer() –
import numpy as np
a = np.array([[34,23],[90,34]])
b = np.array([[90,34],[43,23]])
print("The input arrays:",a,b)
outer_product = np.outer(a,b)
print("The Outer product of the given input arrays:",outer_product)
Saída
A seguir está a saída do produto externo das duas matrizes.
The input arrays: [[34 23]
[90 34]] [[90 34]
[43 23]]
The Outer product of the given input arrays: [[3060 1156 1462 782]
[2070 782 989 529]
[8100 3060 3870 2070]
[3060 1156 1462 782]]
Exemplo
Agora, vamos tentar calcular o produto externo das matrizes 3D.
import numpy as np
a = np.array([[[34,23],[90,34]],[[12,5],[14,5]]])
b = np.array([[[90,34],[43,23]],[[1,22],[7,2]]])
print("The input arrays:",a,b)
outer_product = np.outer(a,b)
print("The Outer product of the given input arrays:",outer_product)
Saída
The input arrays: [[[34 23]
[90 34]]
[[12 5]
[14 5]]] [[[90 34]
[43 23]]
[[ 1 22]
[ 7 2]]]
The Outer product of the given input arrays: [[3060 1156 1462 782 34 748 238 68]
[2070 782 989 529 23 506 161 46]
[8100 3060 3870 2070 90 1980 630 180]
[3060 1156 1462 782 34 748 238 68]
[1080 408 516 276 12 264 84 24]
[ 450 170 215 115 5 110 35 10]
[1260 476 602 322 14 308 98 28]
[ 450 170 215 115 5 110 35 10]]