diff --git a/src/symbanded/BandedCholesky.jl b/src/symbanded/BandedCholesky.jl index e1194b15..ea922955 100644 --- a/src/symbanded/BandedCholesky.jl +++ b/src/symbanded/BandedCholesky.jl @@ -98,3 +98,6 @@ cholesky(A::Symmetric{T,<:BandedMatrix{T}}, cholesky(A::Hermitian{T,<:BandedMatrix{T}}, ::Val{false}=Val(false); check::Bool = true) where T = cholesky!(cholcopy(A); check = check) + +Base.copy(Ac::Adjoint{<:Any,<:AbstractBandedMatrix}) = BandedMatrix(Ac) +Base.copy(Ac::Transpose{<:Any,<:AbstractBandedMatrix}) = BandedMatrix(Ac) diff --git a/test/test_symbanded.jl b/test/test_symbanded.jl index 80c7e10a..d2c2d7f4 100644 --- a/test/test_symbanded.jl +++ b/test/test_symbanded.jl @@ -185,6 +185,8 @@ end @test Ac isa Cholesky{T,<:BandedMatrix{T}} @test Ac.U ≈ cholesky(Matrix(A)).U + @test Ac.U isa LowerTriangular{T,<:BandedMatrix{T}} + @test Ac.L isa LowerTriangular{T,<:BandedMatrix{T}} b = rand(T,size(A,1)) @test Ac\b ≈ Matrix(A)\b @@ -198,6 +200,8 @@ end @test Ac isa Cholesky{T,<:BandedMatrix{T}} @test Ac.L ≈ cholesky(Matrix(A)).L + @test Ac.U isa LowerTriangular{T,<:BandedMatrix{T}} + @test Ac.L isa LowerTriangular{T,<:BandedMatrix{T}} b = rand(T,size(A,1)) @test Ac\b ≈ Matrix(A)\b @@ -211,6 +215,8 @@ end @test Ac isa Cholesky{T,<:BandedMatrix{T}} @test Ac.U ≈ cholesky(Matrix(A)).U + @test Ac.U isa LowerTriangular{T,<:BandedMatrix{T}} + @test Ac.L isa LowerTriangular{T,<:BandedMatrix{T}} b = rand(T,size(A,1)) @test Ac\b ≈ Matrix(A)\b