【问题标题】:Finding eigenvalues of a matrix with unknown variables using numpy.linalg.eig使用 numpy.linalg.eig 查找具有未知变量的矩阵的特征值
【发布时间】:2021-11-21 17:41:09
【问题描述】:

例如,我有以下矩阵:

$$\begin{bmatrix}a+1&1\1&1\end{bmatrix}$$

我想用python求矩阵的特征值。 这是我的尝试:

arr = np.array( [[ a+1, 1],
             [ 1, 1]] )
print(np.linalg.eig(arr))

显然,python 告诉我 a 没有定义。但我不想定义一个。 a 应该只是一个变量,我希望用 a 来表示特征值。

有什么想法吗?

亲切的问候,

斑马线

【问题讨论】:

  • 无法弄清楚如何显示矩阵:(
  • 不幸的是,StackOverflow 没有渲染 LaTeX。
  • 对于符号操作,你需要使用类似SymPy

标签: python numpy matrix numerical-methods


【解决方案1】:

ddejohn 是对的。你想要的是一个符号操作,所以使用 sympy:

from sympy import var, Matrix

var('a')
arr = Matrix( [[ a+1, 1],
             [ 1, 1]] )

arr.eigenvals()

给予

{a/2 - sqrt(a**2 + 4)/2 + 1: 1, a/2 + sqrt(a**2 + 4)/2 + 1: 1}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多