NumPy np.outer()
You can learn more about the outer product in the resource below:
https://en.wikipedia.org/wiki/Outer_product
The outer product can be expressed as shown:
Suppose you have two vectors a and b with the values as shown:
a = [a0, a1, a2…aM]
b = [b0, b1, b2…bN]
The outer product is calculated as shown:
[[a0*b0 a0*b1 … a0*bN ]
[a1*b0 .
[ … .
[aM*b0 aM*bN ]]
Let us learn how to use the outer() function in NumPy.
Function Syntax
The function syntax can be expressed as shown in the code snippet below:
numpy.outer(a, b, out=None)
Parameters
The function has a simple syntax and accepts three main parameters:
- a – refers to the first input vector. Think of it as M in the previous explanation.
- b – refers to the second input vector. In this case, it acts as N.
- out – an alternative array to store the resulting output. It takes shape (M, N).
Return Value
The function returns the outer product of the two vectors in the for:
Example #1
The code below shows how to calculate the outer product of two one-dimensional arrays.
# import numpy
import numpy as np
a = np.array([10,20,30])
b = np.array([1,2,3])
print(np.outer(a, b))
The resulting array is as shown:
[[10 20 30]
[20 40 60]
[30 60 90]]
Example #2
In the case of a 2×3 matrix, the function should return:
a = np.array([[10,20,30], [40,50,60]])
b = np.array([[1,2,3], [4,5,6]])
print(np.outer(a,b))
The function should return:
[[ 10 20 30 40 50 60]
[ 20 40 60 80 100 120]
[ 30 60 90 120 150 180]
[ 40 80 120 160 200 240]
[ 50 100 150 200 250 300]
[ 60 120 180 240 300 360]]
Example #3
The outer function also allows you to perform the outer product with a vector of letters.
An example is as shown:
a = np.array([‘a’, ‘b’, ‘c’, ‘d’], dtype=object)
b = np.array([0,1,2,3])
print(np.outer(a,b))
The code above should return:
[[» ‘a’ ‘aa’ ‘aaa’]
[» ‘b’ ‘bb’ ‘bbb’]
[» ‘c’ ‘cc’ ‘ccc’]
[» ‘d’ ‘dd’ ‘ddd’]]
Conclusion
This article guides you in calculating the outer products of two vectors using NumPy’s outer() function.
Thanks for reading & Happy coding!!