У меня есть разреженная матрица W, когда я использую linalg.pinv(W)
, она выдает некоторые ошибки:
Traceback (most recent call last):
File "/Users/ad9075/PycharmProjects/bednmf/test.py", line 14, in testNmfRun
self.factor = factorization(self.V)
File "/Users/ad9075/PycharmProjects/bednmf/nmf.py", line 18, in factorization
W_trans = linalg.pinv(W)
File "/Library/Python/2.7/site-packages/scipy/linalg/basic.py", line 540, in pinv
b = np.identity(a.shape[0], dtype=a.dtype)
IndexError: tuple index out of range`
Но когда я изменяю его на linalg.pinv(W.todense())
, он работает хорошо. Однако действительно ли мне нужно преобразовывать разреженную матрицу, если я хочу вычислить сгенерированную обратную матрицу? У кого-нибудь есть идеи по этому поводу?
Спасибо!