Make convert(::Type{<:AbstractTriangular}, A::Diagonal) consistently preserve storage structure #17653
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
convert(::Type{LowerTriangular}, A::Diagonal)
andconvert(::Type{UpperTriangular}, A::Diagonal)
preserveDiagonal
storage structure, respectively returningLowerTriangular{T,Diagonal{T}}
andUpperTriangular{T,Diagonal{T}}
. In contrast,convert(::Type{UnitLowerTriangular}, A::Diagonal)
andconvert(::Type{UnitUpperTriangular})
discard theDiagonal
storage structure via afull
call, respectively returningUnitLowerTriangular{T,Matrix{T}}
andUnitUpperTriangular{T,Matrix{T}}
.This pull request makes the latter (
Unit(Lower|Upper)Triangular
) methods preserve theDiagonal
storage structure, consistent with the former ((Lower|Upper)Triangular
) methods. Best!