You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The types of the factors of a Cholesky decomposition of a banded matrix do not reflect the banded layout, but produce a full matrix in half of the cases. Would be nice to have that fixed.
julia> A = Symmetric(BandedMatrix(0=>ones(2)))
2×2 Symmetric{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}:
1.0 ⋅
⋅ 1.0
julia> C = cholesky(A)
Cholesky{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}
U factor:
2×2 UpperTriangular{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}:
1.0 ⋅
⋅ 1.0
julia> typeof(C.L)
LowerTriangular{Float64,Array{Float64,2}} # that is NOK
julia> typeof(C.U)
UpperTriangular{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}
julia> B = Symmetric(BandedMatrix(0=>ones(2)), :L)
2×2 Symmetric{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}:
1.0 ⋅
⋅ 1.0
julia> D = cholesky(B)
Cholesky{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}
L factor:
2×2 LowerTriangular{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}:
1.0 ⋅
⋅ 1.0
julia> D.L
2×2 LowerTriangular{Float64,BandedMatrix{Float64,Array{Float64,2},Base.OneTo{Int64}}}:
1.0 ⋅
⋅ 1.0
julia> D.U
2×2 UpperTriangular{Float64,Array{Float64,2}}: # That is NOK
1.0 0.0
⋅ 1.0
The text was updated successfully, but these errors were encountered:
julia>@whichgetproperty(C, :U)
getproperty(C::Cholesky, d::Symbol) in LinearAlgebra at /Users/sheehanolver/Projects/julia-1.5/usr/share/julia/stdlib/v1.5/LinearAlgebra/src/cholesky.jl:411
The types of the factors of a Cholesky decomposition of a banded matrix do not reflect the banded layout, but produce a full matrix in half of the cases. Would be nice to have that fixed.
The text was updated successfully, but these errors were encountered: