I don’t know much about sparse matrix representations but note that transposes are always “trivial” in julia.
julia> A = spdiagm(0=>rand(2))
2×2 SparseMatrixCSC{Float64,Int64} with 2 stored entries:
[1, 1] = 0.922997
[2, 2] = 0.226075
julia> A'
2×2 Adjoint{Float64,SparseMatrixCSC{Float64,Int64}}:
0.922997 0.0
0.0 0.226075
Note that the type of A' is an Adjoint, which is a wrapper over the original array that takes care of indexing, etc… So in that sense, CSR wouldn’t be any different.
That said, I can’t say whether other aspects like memory management would be improved by having both types ![]()