📅  最后修改于: 2023-12-03 15:34:17.201000             🧑  作者: Mango
sympy.eigenvals() 方法是Python SymPy库中的一个函数,用于计算给定矩阵的特征值。
特征值可以给出矩阵的重要信息,如行列式值和矩阵的迹。此外,特征值还在许多数学和工程问题中发挥作用。
下面是 sympy.eigenvals() 方法的语法:
sympy.eigenvals(mat)
其中,mat是待计算特征值的矩阵。
函数需要传递一个参数,即代表秩为n的方程组的n x n矩阵。
该函数会返回一个Python字典,其中特征值作为键,每个特征值的代数重复次数作为值。
下面是sympy.eigenvals()方法的一个简单的例子:
from sympy import Matrix
from sympy import pprint
from sympy import eigenvals
A = Matrix([[1, 2],
[3, 4]])
pprint(A.eigenvals())
输出:
{5/2 - sqrt(33)/2: 1, 5/2 + sqrt(33)/2: 1}
在这个例子中,我们首先用Matrix()函数创建一个2 x 2的矩阵,然后使用eigenvals()函数计算该矩阵的特征值。
返回的字典有两个键,每个键表示矩阵的一个特征值。
如果你输入的矩阵的元素是浮点数,那么可能会有误差。如果不想得到近似值,可以将矩阵元素转换为有理数。 如下所示:
from sympy import Rational
A = Matrix([[Rational(1, 3), Rational(1, 2)],
[Rational(3, 4), Rational(2, 5)]])
pprint(A.eigenvals())
输出:
{13/20 - sqrt(409)/20: 1, 13/20 + sqrt(409)/20: 1}
这里我们使用Rational()函数将矩阵元素转换为有理数,结果正常输出。