gpt4 book ai didi

Python - linalg.eigsh 如何找到*所有*特征向量?

转载 作者:行者123 更新时间:2023-12-01 08:57:23 24 4
gpt4 key购买 nike

我正在使用 linalg.eigsh 文档页面上的示例代码,here :

import scipy.sparse.linalg as sp
import numpy as np

id = np.eye(13)
vals, vecs = sp.eigsh(id, k=6)

len(vals)
# 6
len(vecs)
# 13

我要求它提供 6 特征值 (k=6),它确实返回 6,但它给了我 13(即全部) ) 特征向量。
在文档中,当谈到 k 时,它说:

The number of eigenvalues and eigenvectors desired. k must be smaller than N. It is not possible to compute all eigenvectors of a matrix.

事实上,我认为 Lanczos 方法(底层 eighsh)的速度是由于它只找到 eigvector 的一个子集。

那么它如何返回所有特征向量呢?

最佳答案

不是; vecs 是一个 13 x 6 矩阵。特征向量n为:

vecs[:, n]

关于Python - linalg.eigsh 如何找到*所有*特征向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52707684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com