Skip to content

Commit 5aca26f

Browse files
authored
Simplify getproperty for Cholesky* (#1197)
1 parent 924dda4 commit 5aca26f

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

src/cholesky.jl

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -664,30 +664,15 @@ copy(C::CholeskyPivoted) = CholeskyPivoted(copy(C.factors), C.uplo, C.piv, C.ran
664664
size(C::Union{Cholesky, CholeskyPivoted}) = size(C.factors)
665665
size(C::Union{Cholesky, CholeskyPivoted}, d::Integer) = size(C.factors, d)
666666

667-
function _choleskyUfactor(Cfactors, Cuplo)
668-
if Cuplo === 'U'
669-
return UpperTriangular(Cfactors)
670-
else
671-
return LowerTriangular(Cfactors)'
672-
end
673-
end
674-
function _choleskyLfactor(Cfactors, Cuplo)
675-
if Cuplo === 'L'
676-
return LowerTriangular(Cfactors)
677-
else
678-
return UpperTriangular(Cfactors)'
679-
end
680-
end
681-
682667
function getproperty(C::Cholesky, d::Symbol)
683668
Cfactors = getfield(C, :factors)
684669
Cuplo = getfield(C, :uplo)
685670
if d === :U
686-
_choleskyUfactor(Cfactors, Cuplo)
671+
UpperTriangular(Cuplo == 'U' ? Cfactors : Cfactors')
687672
elseif d === :L
688-
_choleskyLfactor(Cfactors, Cuplo)
673+
LowerTriangular(Cuplo == 'L' ? Cfactors : Cfactors')
689674
elseif d === :UL
690-
return (Cuplo === 'U' ? UpperTriangular(Cfactors) : LowerTriangular(Cfactors))
675+
return (Cuplo == 'U' ? UpperTriangular(Cfactors) : LowerTriangular(Cfactors))
691676
else
692677
return getfield(C, d)
693678
end
@@ -704,9 +689,9 @@ function getproperty(C::CholeskyPivoted{T}, d::Symbol) where {T}
704689
Cfactors = getfield(C, :factors)
705690
Cuplo = getfield(C, :uplo)
706691
if d === :U
707-
_choleskyUfactor(Cfactors, Cuplo)
692+
UpperTriangular(Cuplo == 'U' ? Cfactors : Cfactors')
708693
elseif d === :L
709-
_choleskyLfactor(Cfactors, Cuplo)
694+
LowerTriangular(Cuplo == 'L' ? Cfactors : Cfactors')
710695
elseif d === :p
711696
return getfield(C, :piv)
712697
elseif d === :P

0 commit comments

Comments
 (0)