小编JBo*_*man的帖子

Numpy特征向量不是特征向量?

我正在做一些矩阵计算,想要计算这个特定矩阵的特征值和特征向量:

在此输入图像描述

我发现它的特征值和特征向量是分析性的,并且想要确认我的答案numpy.linalg.eigh,因为这个矩阵是对称的.这是问题:我找到了预期的特征值,但相应的特征向量似乎根本不是特征向量

这是我使用的一小段代码:

import numpy as n
def createA():
#create the matrix A
    m=3
    T = n.diag(n.ones(m-1.),-1.) + n.diag(n.ones(m)*-4.) +\
    n.diag(n.ones(m-1.),1.)
    I = n.identity(m)
    A = n.zeros([m*m,m*m])
    for i in range(m):
        a, b, c = i*m, (i+1)*m, (i+2)*m
        A[a:b, a:b] = T
        if i < m - 1:
            A[b:c, a:b] = A[a:b, b:c] = I
    return A

A = createA()
ev,vecs = n.linalg.eigh(A)
print vecs[0]
print n.dot(A,vecs[0])/ev[0]
Run Code Online (Sandbox Code Playgroud)

因此,对于第一个特征值/特征向量对,这会产生:

[  2.50000000e-01   5.00000000e-01  -5.42230975e-17  -4.66157689e-01
3.03192985e-01   2.56458619e-01  -7.84539156e-17  -5.00000000e-01 …
Run Code Online (Sandbox Code Playgroud)

numpy eigenvector

5
推荐指数
1
解决办法
1284
查看次数

标签 统计

eigenvector ×1

numpy ×1