Ранг разреженной матрицы Python - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть разреженная матрица csr, sparse.csr_matrix (A), для которой я хотел бы вычислить ранг матрицы

Есть два варианта, которые мне известны: я мог бы преобразовать ее в пустую матрицуили массив (.todense () или .toarray ()), а затем используйте np.linalg.matrix_rank (A), что противоречит моей цели использования формата разреженных матриц, поскольку у меня очень большие матрицы.Другой вариант - вычислить декомпозицию SVD ( разреженная матрица svd в python ) для матрицы, а затем вывести из нее ранг матрицы.

Есть ли другие варианты для этого?Существует ли в настоящее время стандартный и наиболее эффективный способ для вычисления ранга разреженной матрицы?Я относительно новичок в создании линейной алгебры в Python, поэтому любые альтернативы и предложения с учетом этого были бы наиболее полезными.

1 Ответ

0 голосов
/ 25 февраля 2019

Я использую метод .todense() и rank method of numpy для вычисления ответов.

До сих пор он давал мне удовлетворительный ответ.

...