How do you divide a matrix by a matrix in python?

numpy.divide(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])= 'divide'>#

Divide arguments element-wise.

Parametersx1array_like

Dividend array.

x2array_like

Divisor array. If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

outndarray, None, or tuple of ndarray and None, optional

A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

wherearray_like, optional

This condition is broadcast over the input. At locations where the condition is True, the out array will be set to the ufunc result. Elsewhere, the out array will retain its original value. Note that if an uninitialized out array is created via the default out=None, locations within it where the condition is False will remain uninitialized.

**kwargs

For other keyword-only arguments, see the ufunc docs.

Returnsyndarray or scalar

The quotient x1/x2, element-wise. This is a scalar if both x1 and x2 are scalars.

See also

seterr

Set whether to raise or warn on overflow, underflow and division by zero.

Notes

Equivalent to x1 / x2 in terms of array-broadcasting.

The true_divide(x1, x2) function is an alias for divide(x1, x2).

Examples

>>> np.divide(2.0, 4.0)
0.5
>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> np.divide(x1, x2)
array([[nan, 1. , 1. ],
       [inf, 4. , 2.5],
       [inf, 7. , 4. ]])

The / operator can be used as a shorthand for np.divide on ndarrays.

>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = 2 * np.ones(3)
>>> x1 / x2
array([[0. , 0.5, 1. ],
       [1.5, 2. , 2.5],
       [3. , 3.5, 4. ]])

  1. HowTo
  2. Python NumPy Howtos
  3. Divide Matrix by Vector in NumPy

Created: May-08, 2021

  1. Divide Matrix by Vector in NumPy With the Array Slicing Method in Python
  2. Divide Matrix by Vector in NumPy With the Transpose Method in NumPy
  3. Divide Matrix by Vector in NumPy With the numpy.reshape() Function

This tutorial will discuss the methods to divide a matrix by a vector in NumPy.

Divide Matrix by Vector in NumPy With the Array Slicing Method in Python

A matrix is a 2D array, while a vector is just a 1D array. If we want to divide the elements of a matrix by the vector elements in each row, we have to add a new dimension to the vector. We can add a new dimension to the vector with the array slicing method in Python. The following code example shows us how to divide each row of a matrix by a vector with the array slicing method in Python.

import numpy as np

matrix = np.array([[2,2,2],[4,4,4],[6,6,6]])

vector = np.array([2,4,6])

matrix = matrix / vector[:,None]
print(matrix)

Output:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

We first created the matrix and the vector with the np.array() function. We then added a new axis to the vector with the slicing method. We then divided the matrix by the array and saved the result inside the matrix.

Divide Matrix by Vector in NumPy With the Transpose Method in NumPy

We can also transpose the matrix to divide each row of the matrix by each vector element. After that, we can transpose the result to return to the matrix’s previous orientation. See the following code example.

import numpy as np

matrix = np.array([[2,2,2],[4,4,4],[6,6,6]])

vector = np.array([2,4,6])

matrix = (matrix.T / vector).T
print(matrix)

Output:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

In the above code, we took a transpose of the matrix and divided it by the vector. After that, we took a transpose of the result and stored it inside the matrix.

Divide Matrix by Vector in NumPy With the numpy.reshape() Function

The whole idea behind this approach is that we have to convert the vector to a 2D array first. The numpy.reshape() function can be used to convert the vector into a 2D array where each row contains only one element. We can then easily divide each row of the matrix by each row of the vector.

import numpy as np

matrix = np.array([[2,2,2],[4,4,4],[6,6,6]])

vector = np.array([2,4,6])

matrix = matrix / vector.reshape((3,1))
print(matrix)

Output:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

In the above code, we converted the vector to a 2D array with the np.reshape() function. After that, we divided the matrix by the vector and stored the result inside the matrix.

Related Article - NumPy Vector

  • Normalize a Vector in Python

    Related Article - NumPy Matrix

  • Normalize a Vector in Python
  • NumPy Matrix Indexing
  • NumPy Matrix Subtraction
  • How do you divide a matrix by a matrix in python?

    How do you split a matrix by another matrix in Python?

    divide() in Python. numpy. divide(arr1, arr2, out = None, where = True, casting = 'same_kind', order = 'K', dtype = None) : Array element from first array is divided by elements from second element (all happens element-wise).

    How do you divide each element of a matrix by a number?

    How to Divide each element of a matrix by a numerical value using numpy in python.
    Step 1 - Import the library. import numpy as np. ... .
    Step 2 - Creating a matrix. We have created a matrix on which we will perform the operation. ... .
    Step 3 - Dividing each elements..

    How do you divide a number by a NumPy matrix?

    divide(x1, x2) array([[nan, 1. , 1. ], [inf, 4. , 2.5], [inf, 7. , 4. ]]) The / operator can be used as a shorthand for np. divide on ndarrays.

    How do you divide each element in a matrix by a number Python?

    To divide each and every element of an array by a constant, use division arithmetic operator / . Pass array and constant as operands to the division operator as shown below. where a is input array and c is a constant. b is the resultant array.