That’s good, thanks! I’ve taken that and amended it by what fkeep! does
to
function to_sparse(A, f)
colptr = zeros(Int, size(A, 2) + 1)
nzval = Float64[]
rowval = Int[]
colptr[1] = 1
cnt = 1
for i in 1:size(A, 1)
for j in 1:size(A,2)
v = A[i, j]
if f(i,j,v)
push!(rowval, j)
push!(nzval, v)
cnt += 1
end
end
colptr[i+1] = cnt
end
return SparseMatrixCSC(size(A, 1), size(A, 2), colptr, rowval, nzval)
end
in case I want to filter by other criteria during instantiation.