【问题标题】:How to determine the eigenvalues of sympy.matrices.dense.MutableDenseMatrix?如何确定 sympy.matrices.dense.MutableDenseMatrix 的特征值?
【发布时间】:2016-06-04 09:57:03
【问题描述】:

Python SymPy 矩阵 API 有一个 method 来确定特征值。我想用 SymPy MutableDenseMatrix 做类似的事情。不幸的是,API 不允许我这样做。

有什么办法吗?

【问题讨论】:

  • 也许看看 Matrix.eigenvals() 的实现,看看是否可以为 MutableDenseMatrix 实现 - 或者您是否可以通过将 MutableDenseMatrix 实例转换为 Matrix 实例来确定特征值;-)
  • @Dilettant,如何将 MutableDenseMatrix 转换为 Matrix?
  • 您是否已经尝试过类似b = MutableDenseMatrix(...); a = Matrix(b); b.eigenvals() 的方法 - 有时就这么简单,使用 a 的值的副本来初始化 b ...?
  • 它工作得很好——只需要先安装 sympy。请参考。我的回答,如果你喜欢,也许可以接受 :-) 谢谢你的问题,也许下次简单地尝试这个模式,当类似的类有一个缺失的方法时(直觉并不清楚,为什么它在第一个缺失地点)。

标签: python python-2.7 linear-algebra sympy eigenvalue


【解决方案1】:

正如我在评论中所建议的,它当然必须是一个方阵,然后只需从您的 MutableDenseMatrix 构造一个矩阵:

>>> from sympy.matrices.dense import MutableDenseMatrix
>>> from sympy.matrices import Matrix
>>> a = MutableDenseMatrix([[1,0,0], [0,0,0], [2, -2, 3]])
>>> b = Matrix(a)
>>> b.eigenvals()
{0: 1, 1: 1, 3: 1}

【讨论】:

    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2016-01-27
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多