📜  Python| sympy.Matrix.eigenvals() 方法(1)

📅  最后修改于: 2023-12-03 14:46:24.582000             🧑  作者: Mango

Python | sympy.Matrix.eigenvals() 方法

sympy.Matrix.eigenvals() 是 sympy 中线性代数模块中的一个方法,用于计算矩阵的特征值,返回的是一个字典,字典的键为每个特征值,对应的值为其代数重数。

语法

下面是 sympy.Matrix.eigenvals() 方法的语法及参数说明:

Matrix.eigenvals(simplify=True, **flags) -> Dict[Symbol, int]

其中,参数说明如下:

  • simplify:默认为 True,返回的结果将尝试进行约简。
  • flags:sympy 封装的布尔值关键字参数,用于控制特征向量计算的选项。具体请参考 sympy 文档
返回值

sympy.Matrix.eigenvals() 方法返回一个字典,字典的键为每个特征值,对应的值为其代数重数。

示例

以下代码是使用 sympy.Matrix.eigenvals() 方法的示例:

from sympy import *
from sympy.abc import x

# 创建一个矩阵
A = Matrix([[1, 2], [3, 4]])

# 计算矩阵的特征值
eigenvals = A.eigenvals()

# 打印特征值及其代数重数
print(eigenvals)

输出结果:

{5/2 - sqrt(33)/2: 1, 5/2 + sqrt(33)/2: 1}

可以看到,由于矩阵 A 是一个 2x2 的矩阵,因此它有两个特征值,分别为 (5 - √33)/2 和 (5 + √33)/2,它们的代数重数都为 1。

需要注意的是,sympy.Matrix.eigenvals() 方法计算出的特征值都是 sympy 的符号变量 Symbol 对象,需要根据实际情况进行处理。如果需要对特征值进行数值计算,可以使用 sympy.N() 函数或者 evalf() 方法将特征值转换为浮点数。