【问题标题】:From determinant to polynomial equation从行列式到多项式方程
【发布时间】:2017-04-04 18:14:30
【问题描述】:

问题

你好,

我正在解决以下问题:

我有一个行列式 3x3。它充满了数字,其中有一个变量x。该行列式可以转移到单个多项式方程。我可以找到这个方程的根然后 f.e.通过numpy.roots。然而,从行列式到多项式方程的转换肯定会很长。

所以我的问题是:

有没有一种简单的方法可以从行列式多项式方程中得出? (例如使用 sympy)

其他信息

你可以想象这样的转移:

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

【问题讨论】:

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

标签: python numpy math sympy


【解决方案1】:

直接在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]

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多