特征值、特征向量"/>
Python 计算一个n×n矩阵的特征值、特征向量
可以使用 NumPy 库来计算一个 n×n 矩阵的特征值、特征向量。
首先,导入 NumPy 库:
import numpy as np
然后,构造一个 n×n 矩阵,假设该矩阵为 A:
n = 3
A = np.array([[0, 1, 0, 0],[0, 0, 0, 1],[1, 0, 0, 0],[0, 0, 1, 0]
])
可以使用 numpy.linalg.eig()
函数来计算 A 的特征值和特征向量:
eigen_values, eigen_vectors = np.linalg.eig(A)
其中,eigen_values
是一个包含 A 的特征值的一维数组,eigen_vectors
是一个包含 A 的特征向量的矩阵,其中每一列是一个特征向量。
完整代码如下:
import numpy as npn = 3
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])eigen_values, eigen_vectors = np.linalg.eig(A)print("特征值:", eigen_values)
print("特征向量:", eigen_vectors)
运行结果:
特征值: [-1.00000000e+00+0.j 8.32667268e-17+1.j 8.32667268e-17-1.j1.00000000e+00+0.j]
特征向量: [[-5.00000000e-01+0.00000000e+00j 2.85804968e-18-5.00000000e-01j2.85804968e-18+5.00000000e-01j -5.00000000e-01+0.00000000e+00j][ 5.00000000e-01+0.00000000e+00j 5.00000000e-01+0.00000000e+00j5.00000000e-01-0.00000000e+00j -5.00000000e-01+0.00000000e+00j][ 5.00000000e-01+0.00000000e+00j -5.00000000e-01+1.34144886e-16j-5.00000000e-01-1.34144886e-16j -5.00000000e-01+0.00000000e+00j][-5.00000000e-01+0.00000000e+00j -2.63941871e-16+5.00000000e-01j-2.63941871e-16-5.00000000e-01j -5.00000000e-01+0.00000000e+00j]]
更多推荐
Python 计算一个n×n矩阵的特征值、特征向量
发布评论