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 np

n = 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.j
  1.00000000e+00+0.j]
特征向量: [[-5.00000000e-01+0.00000000e+00j  2.85804968e-18-5.00000000e-01j
   2.85804968e-18+5.00000000e-01j -5.00000000e-01+0.00000000e+00j]
 [ 5.00000000e-01+0.00000000e+00j  5.00000000e-01+0.00000000e+00j
   5.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]]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值