Open In App

Python sympy | Matrix.diagonalize() method

Last Updated : 30 Dec, 2020
Improve
Improve
Like Article
Like
Save
Share
Report
With the help of sympy.Matrix().diagonalize() method, we can diagonalize a matrix. diagonalize() returns a tuple (P, D), where D is diagonal and M = PDP^{-1}.
Syntax: Matrix().diagonalize() Returns: Returns a tuple of matrix where the second element represents the diagonal of the matrix.
Example #1:
# import sympy 
from sympy import * M = Matrix([[3, -24, -2],
                                [53, -3, -2],
                                [5, -22, -2],
                                [5, -2, -33]])
  
print("Matrix : {} ".format(M))
   
# Use sympy.diagonalize() method 
P, D = M.diagonalize()  
      
print("Diagonal of a matrix : {}".format(D))  

                    
Output:
Matrix : Matrix([[3, -2, 4, -2], [5, 3, -3, -2], [5, -2, 2, -2], [5, -2, -3, 3]]) Diagonal of a matrix : Matrix([[-2, 0, 0, 0], [0, 3, 0, 0], [0, 0, 5, 0], [0, 0, 0, 5]])
Example #2:
# import sympy 
from sympy import * M = Matrix([[1, -3, 3], [3, -5, 3], [6, -6, 4]]) 
print("Matrix : {} ".format(M))
   
# Use sympy.diagonalize() method 
P, D = M.diagonalize()  
      
print("Diagonal of a matrix : {}".format(D))

                    
Output:
Matrix : Matrix([[1, -3, 3], [3, -5, 3], [6, -6, 4]]) Diagonal of a matrix : Matrix([[-2, 0, 0], [0, -2, 0], [0, 0, 4]])


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads