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