【问题标题】:How to find characteristic polynomial of matrices by python?如何通过python找到矩阵的特征多项式?
【发布时间】:2016-05-02 23:46:03
【问题描述】:

令$A$ 为$n\times n$ 矩阵。我想计算 $A$ 的特征多项式,即我想计算 $$det(xI-A)$$.

有没有在 python 中找到这个的函数?

【问题讨论】:

    标签: python python-3.x scipy


    【解决方案1】:

    听起来您对符号解决方案感兴趣?特征多项式在数值上没有多大意义,您可能会对特征值更感兴趣。要在 SymPy 中获取符号矩阵 M 的特征多项式,您需要使用 M.charpoly 方法。

    有关更多信息,请参阅有关矩阵和线性代数的 SymPy 文档:http://docs.sympy.org/latest/modules/matrices/matrices.html

    如果你想找到一个 numpy 数组的特征值,numpy.linalg.eigvals(或者numpy.linalg.eigvalsh,如果你有一个 Hermitian 矩阵)就是你想要的。

    【讨论】:

    • 谢谢。它确实有帮助。 numpy 和 sympy 有什么区别
    • 是的,它们针对两个根本不同的问题。 Numpy 用于数值计算,即。例如,涉及原始数字的计算,并且对此特别有效(即对于 Python 模块)。另一方面,SymPy 与 Maple 或 Mathematica 类似,不提供高效的数值算法,而是利用 Python 的基本对象结构,允许动态创建符号表达式。在这些表达式上使用 sympy.lambdify,您可以将它们转换为 numpy 函数,但是在某些科学领域有一些非常有用的用例。
    猜你喜欢
    • 2018-06-28
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多