@palday In looking at the code for sparseL, motivated by my comment on a sparseA extractor for #878, I noticed that our _coord utility to return coordinate representation, (I, J, V), of a block of L duplicates the effect of SparseArrays.findnz. It seems desirable to use findnz instead of defining our own extractor and to add methods for the BlockedSparseMatrix and UniformBlockedDiagonal types. However, defining a method for the LinearAlgebra.Diagonal type would be type piracy. Is that a big deal and, if so, how would one avoid type piracy?
@palday In looking at the code for
sparseL, motivated by my comment on asparseAextractor for #878, I noticed that our_coordutility to return coordinate representation, (I, J, V), of a block of L duplicates the effect ofSparseArrays.findnz. It seems desirable to usefindnzinstead of defining our own extractor and to add methods for theBlockedSparseMatrixandUniformBlockedDiagonaltypes. However, defining a method for theLinearAlgebra.Diagonaltype would be type piracy. Is that a big deal and, if so, how would one avoid type piracy?