Go back

# Array Math

##### Subscribe to Tech with Tim

YouTube

## Array Math

Another reason that numpy is so useful is because of its extensive implementation for array operations and math. Numpy has tons of functions that save us tons of time and can perform operations very quickly

The following operations are supported on numpy arrays. They perform whats known as element-wise operations.

- addition: + or np.add()
- subtraction: - or np.subtract()
- multiplication: * or np.multiply()
- division: / or np.divide()
- square root: np.sqrt()

`import numpy as np x = np.array([[1,2],[3,4]]) y = np.array([[5,6],[7,8]]) x + y # -> array([[ 6, 8], # [10, 12]]) x - y # -> array([[-4, -4], # [-4, -4]]) x * y # -> array([[ 5, 12], # [21, 32]]) x / y # -> array([[0.2 , 0.33333333], # [0.42857143, 0.5 ]]) np.sqrt(x) # -> array([[1. , 1.41421356], # [1.73205081, 2. ]])`

To take the dot product of two arrays we can use **.dot()**.

`import numpy as np v = np.array([9,10]) w = np.array([11,13]) v.dot(w) # -> 229 w.dot(v) # -> 229 np.dot(v, w) # -> 229`

When we take the dot product of two arrays of the same size we get a scalar. Otherwise we get what's called an inner product.

To transpose a matrix or array we can use **.T**.

`import numpy as np v = np.array([[9,10], [98, 67]]) v.T # -> array([[ 9, 98], # [10, 67]])`

To take the sum of an array we can use **np.sum(axis=)**.

`import numpy as np v = np.array([[9,10], [98, 67]]) np.sum(v) # -> 184 np.sum(v, axis=0) # array([107, 77]), this gives us the sum of the columns stored in an array`

To read more about numpy and see everything it has to offer click here.