numpy svd:有没有办法只找到第一个奇异向量而不是完整的svd?

时间:2016-04-14 18:03:51

标签: python numpy scipy scikit-learn svd

numpy.linalg.svd函数给出了输入矩阵的完整svd。 但是我只想要第一个奇异向量。

我想知道numpy中是否有任何函数用于python中的那个或任何其他库?

2 个答案:

答案 0 :(得分:2)

一种可能性是sklearn.utils.extmath.randomized_svd

from sklearn.utils.extmath import randomized_svd
U, S, Vt = randomized_svd(X, n_components=1)

答案 1 :(得分:2)

除了随机的svd,您还可以通过scipy.sparse.linalg.svds对平方问题运行ARPACK。