Search code examples
pythonpython-3.xscipy

How to find characteristic polynomial of matrices by python?


Let $A$ be a $n\times n$ matrix. I want to calculate the characteristic polynomial of $A$ i.e. I want to calculate $$det(XI-A)$$.

Is there any function which computes this in python?


Solution

  • It sounds like you are interested in a symbolic solution? The characteristic polynomial doesn't make much sense numerically, where you would probably be more interested in the eigenvalues. To obtain the characteristic polynomial of a symbolic matrix M in SymPy you want to use the M.charpoly method.

    For more information, see the SymPy documentation on matrices and linear algebra: http://docs.sympy.org/latest/modules/matrices/matrices.html

    If you want to find the eigenvalues of a numpy array, numpy.linalg.eigvals (or numpy.linalg.eigvalsh if you have a Hermitian matrix) is what you want.