【发布时间】:2015-02-13 02:13:43
【问题描述】:
我有一个大的 (351,351) numpy 转换矩阵。我想使用 numpy 找到状态向量(我也尝试了具有相同功能的 scipy)。
sstate = np.linalg.eig(T)[1][:,0]
所以我相信这应该给我主要左特征值的特征向量。主要的左特征值为 1+0j。这有点正确,主要的左特征值应该是 1,我对此有点陌生,所以我不确定如何处理虚数。此外,状态向量包含所有复数。现在,尝试检查这是否正确,我执行以下矩阵乘法:
np.dot(sstate,T)
如果操作正确,这应该返回与“sstate”相同的向量。我不确定为什么这不起作用。虚数会是问题吗?另外,这个转移矩阵是否可能不包含稳态向量。我的过渡状态矩阵中的每一行和每一列的总和都应该为 1,但是,我发现舍入误差会导致每一行和每一列的总和约为 1。
感谢所有帮助!
【问题讨论】:
标签: python numpy linear-algebra eigenvector markov-chains