In this article, we will see NumPy Inverse Matrix in Python before that we will try to understand the concept of it. The inverse of a matrix is just a reciprocal of the matrix as we do in normal arithmetic for a single number which is used to solve the equations to find the value of unknown variables. The inverse of a matrix is that matrix which when multiplied with the original matrix will give an identity matrix.
The inverse of a matrix exists only if the matrix is non-singular i.e., the determinant should not be 0. Using determinant and adjoint, we can easily find the inverse of a square matrix using the below formula,
if det(A) != 0 A-1 = adj(A)/det(A) else "Inverse doesn't exist"
Matrix Equation:
where,
A-1: The inverse of matrix A
x: The unknown variable column
B: The solution matrix
Inverse Matrix using NumPy
Python provides a very easy method to calculate the inverse of a matrix. The function numpy.linalg.inv() is available in the NumPy module and is used to compute the inverse matrix in Python.
Syntax: numpy.linalg.inv(a)
Parameters:
- a: Matrix to be inverted
Returns: Inverse of the matrix a.
Example 1: In this example, we will create a 3 by 3 NumPy array matrix and then convert it into an inverse matrix using the np.linalg.inv() function.
Python3
# Import required package import numpy as np # Taking a 3 * 3 matrix A = np.array([[ 6 , 1 , 1 ], [ 4 , - 2 , 5 ], [ 2 , 8 , 7 ]]) # Calculating the inverse of the matrix print (np.linalg.inv(A)) |
Output:
[[ 0.17647059 -0.00326797 -0.02287582] [ 0.05882353 -0.13071895 0.08496732] [-0.11764706 0.1503268 0.05228758]]
Example 2: In this example, we will create a 4 by 4 NumPy array matrix and then convert it using np.linalg.inv() function into an inverse Matrix in Python.
Python3
# Import required package import numpy as np # Taking a 4 * 4 matrix A = np.array([[ 6 , 1 , 1 , 3 ], [ 4 , - 2 , 5 , 1 ], [ 2 , 8 , 7 , 6 ], [ 3 , 1 , 9 , 7 ]]) # Calculating the inverse of the matrix print (np.linalg.inv(A)) |
Output:
[[ 0.13368984 0.10695187 0.02139037 -0.09090909] [-0.00229183 0.02673797 0.14820474 -0.12987013] [-0.12987013 0.18181818 0.06493506 -0.02597403] [ 0.11000764 -0.28342246 -0.11382735 0.23376623]]
Example 3: In this example, we will create multiple NumPy array matrices and then convert them into their inverse matrices using np.linalg.inv() function.
Python3
# Import required package import numpy as np # Inverses of several matrices can # be computed at once A = np.array([[[ 1. , 2. ], [ 3. , 4. ]], [[ 1 , 3 ], [ 3 , 5 ]]]) # Calculating the inverse of the matrix print (np.linalg.inv(A)) |
Output:
[[[-2. 1. ] [ 1.5 -0.5 ]] [[-1.25 0.75] [ 0.75 -0.25]]]