Python 从行列式到多项式方程 问题:

Python 从行列式到多项式方程 问题:,python,numpy,math,sympy,Python,Numpy,Math,Sympy,你好, 我正在解决以下问题: 我有一个行列式3x3。它充满了数字,其中有一个变量x。这个行列式可以转化为一个多项式方程。我可以找到这个方程的根,然后用。然而,从行列式到多项式方程的转换肯定是漫长的 所以我的问题是: 从行列式多项式方程有简单的方法吗?(f.e.使用sympy) 附加信息 您可以想象这样的转移: 对于较大的矩阵3x3,当每个成员都可以是三次或四次多项式时,您可以从行列式中得到大约200个多项式,您必须对它们进行排序和求和。这在sympy中很简单: import sympy imp

你好,

我正在解决以下问题:

我有一个行列式3x3。它充满了数字,其中有一个变量x。这个行列式可以转化为一个多项式方程。我可以找到这个方程的根,然后用。然而,从行列式到多项式方程的转换肯定是漫长的

所以我的问题是:

从行列式多项式方程有简单的方法吗?(f.e.使用sympy)

附加信息 您可以想象这样的转移:


对于较大的矩阵3x3,当每个成员都可以是三次或四次多项式时,您可以从行列式中得到大约200个多项式,您必须对它们进行排序和求和。

这在
sympy
中很简单:

import sympy
import numpy as np

x = sympy.Symbol('x')
m = sympy.Matrix([[1 + x, 2], [x - 5, x**2 - 2*x + 3]])
print(m.det())
print(m.det().as_poly().coeffs())
印刷品:

x**3 - x**2 - x + 13
[1, -1, -1, 13]

sympy
中它很简单:

import sympy
import numpy as np

x = sympy.Symbol('x')
m = sympy.Matrix([[1 + x, 2], [x - 5, x**2 - 2*x + 3]])
print(m.det())
print(m.det().as_poly().coeffs())
印刷品:

x**3 - x**2 - x + 13
[1, -1, -1, 13]

通常对大于3的矩阵进行特征值分析。不使用多项式。使用QR、Householder、Givens等算法。通常对大于3的矩阵进行特征值分析。不使用多项式。使用QR、Householder、Givens等算法。