Skip to content
Related Articles

Related Articles

Compute the inverse of a matrix using NumPy

View Discussion
Improve Article
Save Article
  • Last Updated : 26 Feb, 2021

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 as an identity matrix. The inverse of a matrix exists only if the matrix is non-singular i.e., determinant should not be 0. Using determinant and adjoint, we can easily find the inverse of a square matrix using below formula,

if det(A) != 0
    A-1 = adj(A)/det(A)
else
    "Inverse doesn't exist"  

Matrix Equation

Ax = B\\ =>A^{-1}Ax = A^{-1}B\\ =>x = A^{-1}B

where,

A-1: The inverse of matrix A

x: The unknown variable column

B: The solution matrix

We can find out the inverse of any square matrix with the function numpy.linalg.inv(array). 

Syntax: numpy.linalg.inv(a)

Parameters:

a: Matrix to be inverted

Returns: Inverse of the matrix a.

Example 1:

Python3




# Importing Library
import numpy as np
  
# Finding an inverse of given array
arr = np.array([[1, 2], [5, 6]])
inverse_array = np.linalg.inv(arr)
print("Inverse array is ")
print(inverse_array)
print()
  
# inverse of 3X3 matrix
arr = np.array([[1, 2, 3], 
                [4, 9, 6], 
                [7, 8, 9]])
  
inverse_array = np.linalg.inv(arr)
print("Inverse array is ")
print(inverse_array)
print()
  
# inverse of 4X4 matrix
arr = np.array([[1, 2, 3, 4], 
                [10, 11, 14, 25],
                [20, 8, 7, 55], 
                [40, 41, 42, 43]])
  
inverse_array = np.linalg.inv(arr)
print("Inverse array is ")
print(inverse_array)
print()
  
# inverse of 1X1 matrix
arr = np.array([[1]])
inverse_array = np.linalg.inv(arr)
print("Inverse array is ")
print(inverse_array)

Output:

Inverse array is 
[[-1.5   0.5 ]
 [ 1.25 -0.25]]

Inverse array is 
[[-0.6875     -0.125       0.3125    ]
 [-0.125       0.25       -0.125     ]
 [ 0.64583333 -0.125      -0.02083333]]

Inverse array is 
[[-15.07692308   4.9         -0.8         -0.42307692]
 [ 32.48717949 -10.9          1.8          1.01282051]
 [-20.84615385   7.1         -1.2         -0.65384615]
 [  3.41025641  -1.1          0.2          0.08974359]]

Inverse array is 
[[1.]]

Example 2:

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]]]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!