Я много исследовал это, но не смог найти практическое решение этой проблемы. Я использую scipy для создания разреженной матрицы csr и хочу вычесть эту матрицу из эквивалентной матрицы всех. В scipy и numpy обозначениях, если матрица не разрежена, мы можем сделать это, просто написав 1 - MatrixVariable. Однако эта операция не выполняется, если матрица разрежена. Я мог только думать о следующем очевидном решении:Как вычислить (1 - SparseMatrix) огромную разреженную матрицу?
перебирать всю разреженную матрицу, установите все нулевые элементы 1 и все ненулевые элементы в 0.
Но это было бы создать матрицу, где большинство элементов 1, и только некоторые из них равны 0, что больше не является разреженным и потому что его огромный размер не может быть преобразован в плотный.
Что может быть альтернативным и эффективным способом сделать это?
Спасибо.
Что вы хотите сделать с этой '1-матрицей'? Возможно, это может быть достигнуто без создания этого промежуточного результата. – YXD