Compute the outer product of two given vectors using NumPy in Python
Last Updated :
25 Apr, 2023
In Python, we can use the outer() function of the NumPy package to find the outer product of two matrices.
Syntax : numpy.outer(a, b, out = None)
Parameters :
a : [array_like] First input vector. Input is flattened if not already 1-dimensional.
b : [array_like] Second input vector. Input is flattened if not already 1-dimensional.
out : [ndarray, optional] A location where the result is stored.
Return : [ndarray] Returns the outer product of two vectors. out[i, j] = a[i] * b[j]
Example 1: Outer Product of 1-D array
Python3
import numpy as np
array1 = np.array([ 6 , 2 ])
array2 = np.array([ 2 , 5 ])
print ( "Original 1-D arrays:" )
print (array1)
print (array2)
print ( "Outer Product of the two array is:" )
result = np.outer(array1, array2)
print (result)
|
Output:
Original 1-D arrays:
[6 2]
[2 5]
Outer Product of the two array is:
[[12 30]
[ 4 10]]
Time Complexity: O(n^2), where n is the length of the input arrays “array1” and “array2”.
Space Complexity: O(n^2)
Example 2: Outer Product of 2X2 matrix
Python3
import numpy as np
matrix1 = np.array([[ 1 , 3 ], [ 2 , 6 ]])
matrix2 = np.array([[ 0 , 1 ], [ 1 , 9 ]])
print ( "Original 2-D matrix:" )
print (matrix1)
print (matrix2)
print ( "Outer Product of the two matrix is:" )
result = np.outer(matrix1, matrix2)
print (result)
|
Output:
Original 2-D matrix:
[[1 3]
[2 6]]
[[0 1]
[1 9]]
Outer Product of the two matrix is:
[[ 0 1 1 9]
[ 0 3 3 27]
[ 0 2 2 18]
[ 0 6 6 54]]
Example 3: Outer Product of 3X3 matrix
Python3
import numpy as np
matrix1 = np.array([[ 2 , 8 , 2 ], [ 3 , 4 , 8 ], [ 0 , 2 , 1 ]])
matrix2 = np.array([[ 2 , 1 , 1 ], [ 0 , 1 , 0 ], [ 2 , 3 , 0 ]])
print ( "Original 3-D matrix:" )
print (matrix1)
print (matrix2)
print ( "Outer Product of the two matrix is:" )
result = np.outer(matrix1, matrix2)
print (result)
|
Output:
Original 3-D matrix:
[[2 8 2]
[3 4 8]
[0 2 1]]
[[2 1 1]
[0 1 0]
[2 3 0]]
Outer Product of the two matrix is:
[[ 4 2 2 0 2 0 4 6 0]
[16 8 8 0 8 0 16 24 0]
[ 4 2 2 0 2 0 4 6 0]
[ 6 3 3 0 3 0 6 9 0]
[ 8 4 4 0 4 0 8 12 0]
[16 8 8 0 8 0 16 24 0]
[ 0 0 0 0 0 0 0 0 0]
[ 4 2 2 0 2 0 4 6 0]
[ 2 1 1 0 1 0 2 3 0]]
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...