5.3. Arithmetics#

All Python arithmetic operators (+, -, *, /, **) work directly on NumPy arrays, assuming both arrays have the same shape. Operations are performed between each element of a same position. For example, using a + b, the 1st element of a is summed with the 1st element of b, the 2nd of a with the 2nd of b, etc.:

import numpy as np

a = np.array(
    [
        [1.0, 2.0, 3.0],
        [1.0, 2.0, 3.0],
    ]
)

b = np.array(
    [
        [1.0, 1.0, 1.0],
        [2.0, 2.0, 2.0],
    ]
)

Addition:

a + b
array([[2., 3., 4.],
       [3., 4., 5.]])

Subtraction:

a - b
array([[ 0.,  1.,  2.],
       [-1.,  0.,  1.]])

Multiplication:

a * b
array([[1., 2., 3.],
       [2., 4., 6.]])

Division:

a / b
array([[1. , 2. , 3. ],
       [0.5, 1. , 1.5]])

Exponent:

a**b
array([[1., 2., 3.],
       [1., 4., 9.]])

It is also possible to perform operations between an array and a single number.

Addition:

a + 1
array([[2., 3., 4.],
       [2., 3., 4.]])

Subtraction:

a - 1
array([[0., 1., 2.],
       [0., 1., 2.]])

etc.