Vector Addition in Numpy

Use the
numpy.add()
Function to Perform Vector Addition in Numpy 
Use the
numpy.ndarray.__add__()
Function to Perform Vector Addition in Numpy 
Use the
+
Operator to Perform Vector Addition in Numpy  What to Do When the Two Arrays Are Not of Equal Size
A singledimensional array of lists can be considered a vector. In Python, we use the numpy module to perform different operations on arrays.
In this tutorial, we will discuss how to perform vector addition in Python.
When we say vector addition, what it means is that we will add two arrays. The arrays need to be of the same length in all the methods discussed below; otherwise, a ValueError is raised.
Use the numpy.add()
Function to Perform Vector Addition in Numpy
The add()
function from the numpy module can be used to add two arrays. It performs addition over arrays that have the same size with elements at every corresponding position getting summed up.
For example,
import numpy as np
arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])
s = np.add(arr1, arr2)
print(s)
Output:
[4 4 4]
Use the numpy.ndarray.__add__()
Function to Perform Vector Addition in Numpy
The numpy.ndarray.__add__()
function is used to add some value to every element of the array. We can use it to perform vector addition by passing the second array to this function.
For example,
import numpy as np
arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])
s = arr1.__add__(arr2)
print(s)
Output:
[4 4 4]
Use the +
Operator to Perform Vector Addition in Numpy
We can eliminate the use of any function by simply using the arithmetic +
operator to calculate the sum of two arrays.
For example,
import numpy as np
arr1 = np.array([3, 2, 1])
arr2 = np.array([1, 2, 3])
s = arr1 + arr2
print(s)
Output:
[4 4 4]
What to Do When the Two Arrays Are Not of Equal Size
It has been discussed earlier that all the above methods will return ValueError if the arrays are not of the same size. For such situations, we can either fill the smaller array with 0s manually or use the numpy.pad()
function to perform addition normally or create our own function to perform addition.
See the code below.
import numpy as np
a = np.array([3, 2, 1])
b = np.array([1, 2])
def unequal_add(a,b):
if len(a) < len(b):
c = b.copy()
c[:len(a)] += a
else:
c = a.copy()
c[:len(b)] += b
return(c)
print(unequal_add(a,b))
Output:
[4 4 1]
What we do is copy the longer array and add the elements of the smaller array to the longer array. This method will consume a lot of memory.