Julia 如何找到稀疏矩阵中所有空行的索引,

Julia 如何找到稀疏矩阵中所有空行的索引,,julia,Julia,我有一个大的稀疏矩阵M。我想找到矩阵中所有空行的索引。如何做到这一点?Julia使用稀疏矩阵存储格式,这意味着所有存储值的行索引都可用。因此,通过取1:NROWS和行索引集之间的集差,可以找到所有没有存储值的行: julia> using SparseArrays julia> A = rand(10, 10); A[3,:] .= 0; A[5,:] .= 0; S = sparse(A); julia> idx = setdiff(Set(1:size(A, 1)),

我有一个大的稀疏矩阵M。我想找到矩阵中所有空行的索引。如何做到这一点?

Julia使用稀疏矩阵存储格式,这意味着所有存储值的行索引都可用。因此,通过取1:NROWS和行索引集之间的集差,可以找到所有没有存储值的行:

julia> using SparseArrays

julia> A = rand(10, 10); A[3,:] .= 0; A[5,:] .= 0; S = sparse(A);

julia> idx = setdiff(Set(1:size(A, 1)), Set(S.rowval))
Set{Int64} with 2 elements:
  3
  5
Julia使用稀疏矩阵存储格式,这意味着所有存储值的行索引都可用。因此,通过取1:NROWS和行索引集之间的集差,可以找到所有没有存储值的行:

julia> using SparseArrays

julia> A = rand(10, 10); A[3,:] .= 0; A[5,:] .= 0; S = sparse(A);

julia> idx = setdiff(Set(1:size(A, 1)), Set(S.rowval))
Set{Int64} with 2 elements:
  3
  5

非常感谢。我猜sizeA,1可以从S中提取?我只有稀疏矩阵。实际上,你也可以使用更高级别的构造,比如alliszero,S,dims=2。但我认为目前还没有达到稀疏优化。而且,不,你可以使用1:sizeS,1或更好的:axesS,1。谢谢。我猜sizeA,1可以从S中提取?我只有稀疏矩阵。实际上,你也可以使用更高级别的构造,比如alliszero,S,dims=2,但我认为目前还没有达到稀疏优化。而且,不,你可以使用1:sizeS,1或更好的:axesS,1。