返回信息流跪求大神解答![ema23]
下面是一个实例:
import numpy
a=numpy.array([[2,-1,2],[5,-3,3],[-1,0,-2]]);
b,c=numpy.linalg.eig(a);
结果,求得
b=array([-0.99998465 +0.00000000e+00j, -1.00000768 +1.32949166e-05j,-1.00000768 -1.32949166e-05j])
然而,用手工算或者MATLAB算的是
b=[-1,-1,-1]。
这个虚部应该如何取舍?
另外,求出的特征向量是
c=matrix([[ 0.57735027 +0.00000000e+00j, 0.57735027 +7.67588259e-06j,0.57735027 -7.67588259e-06j],
[ 0.57735913 +0.00000000e+00j, 0.57734584 +1.53518830e-05j,0.57734584 -1.53518830e-05j],
[-0.57734141 +0.00000000e+00j, -0.57735470 +0.00000000e+00j,-0.57735470 -0.00000000e+00j]])
然后不知道怎么弄成特征值[-1,-1,-1]的对应的特征向量了.....[ema16]
这是一条镜像帖。来源:北邮人论坛 / python / #7690同步于 2015/7/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
numpy 怎么求矩阵的特征值
cbhoimnba
2015/7/1镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
你要取b的实部或虚部,只要b.real或b.imag就行了
import numpy
a=numpy.array([[2,-1,2],[5,-3,3],[-1,0,-2]]);
b,c=numpy.linalg.eig(a);
print b.real
print np.round(b.real)
[-0.99998544 -1.00000728 -1.00000728]
[-1. -1. -1.]
【 在 cbhoimnba 的大作中提到: 】
: 跪求大神解答!
: 下面是一个实例:
: import numpy
: ...................
要学会看文档http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html#numpy.linalg.eig
“The number w is an eigenvalue of a if there exists a vector v such that dot(a,v) = w * v. Thus, the arrays a, w, and v satisfy the equations dot(a[:,:], v[:,i]) = w[i] * v[:,i]”
【 在 cbhoimnba 的大作中提到: 】
: 比如,c这个矩阵的行向量对应一个特征值,还是列向量对应一个特征值?