I want to obtain D.diag for a Diagonal matrix D, except I’m not sure if this is public. Using diag(D) allocates unnecessarily in certain cases (as it uses similar to ensure type-stability).
julia> D = Diagonal(3:4)
2×2 Diagonal{Int64, UnitRange{Int64}}:
3 ⋅
⋅ 4
julia> diag(D)
2-element Vector{Int64}:
3
4
julia> D.diag
3:4
How to I obtain the range back, given D, in a manner that is considered future-proof to include in a package?
Edit: I’ve found this hack that works, but I’m not sure if this is future-proof:
julia> eigvals(D)
3:4