Почему scipy.sparse.linalg.svds возвращает ошибку ValueError? - PullRequest
2 голосов
/ 05 января 2012

Кто-нибудь знает, как использовать пакет scipy.sparse для вычисления SVD на разреженной матрице?

Я знаю, что мне нужно использовать scipy.sparse.linalg.svds() .

Но я сделал так:

from scipy.sparse import *
csr = csr_matrix(matrix) 
U, s, V = linalg.svds( csr )

У меня было исключение:

ValueError: matrix type must be 'f', 'd', 'F', or 'D'

1 Ответ

3 голосов
/ 06 января 2012

Измените тип матрицы с целых на двойные. Если вы инициализируете с помощью констант, измените один из элементов с целочисленного формата (8) на двойной формат (8.0).

...