Open In App
Related Articles

Compute the outer product of two given vectors using NumPy in Python

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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

# Importing library
import numpy as np
 
# Creating two 1-D arrays
array1 = np.array([6,2])
array2 = np.array([2,5])
print("Original 1-D arrays:")
print(array1)
print(array2)
 
# Output
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

# Importing library
import numpy as np
 
# Creating two 2-D matrix
matrix1 = np.array([[1, 3], [2, 6]])
matrix2 = np.array([[0, 1], [1, 9]])
print("Original 2-D matrix:")
print(matrix1)
print(matrix2)
 
# Output
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

# Importing library
import numpy as np
 
# Creating two 3-D matrix
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)
 
# Output
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]]


Last Updated : 25 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads