I think we should use DenseMatrix instead of AbstractMatrix to ensure that the matrix can be represented as long vector in decompress! when needed.
Example:
function decompress!(A::SparseMatrixCSC, B::AbstractMatrix, result::ColumnColoringResult)
(; compressed_indices) = result
S = result.bg.S2
check_same_pattern(A, S)
nzA = nonzeros(A)
for k in eachindex(nzA, compressed_indices)
nzA[k] = B[compressed_indices[k]]
end
return A
end
I think we should use
DenseMatrixinstead ofAbstractMatrixto ensure that the matrix can be represented as long vector indecompress!when needed.Example: