@@ -493,15 +493,27 @@ end
493493
494494@testset " Cholesky for AbstractMatrix" begin
495495 for M in (SymTridiagonal (fill (2.0 , 4 ), ones (3 )),
496+ Symmetric (SymTridiagonal (fill (2.0 , 4 ), ones (3 )), :U ),
497+ Symmetric (SymTridiagonal (fill (2.0 , 4 ), ones (3 )), :L ),
496498 Tridiagonal (ones (3 ), fill (2.0 , 4 ), ones (3 )),
499+ Hermitian (Tridiagonal (ones (3 ), fill (2.0 , 4 ), ones (3 )), :U ),
500+ Hermitian (Bidiagonal (fill (2.0 , 4 ), ones (3 ), :U ), :U ),
501+ Hermitian (Bidiagonal (fill (2.0 , 4 ), ones (3 ), :U ), :L ),
502+ Hermitian (Bidiagonal (fill (2.0 , 4 ), ones (3 ), :L ), :L ),
497503 )
498504 C = cholesky (M)
499505 @test C. L * C. U ≈ M
506+ @test parent (C. U) isa Bidiagonal
500507 end
501508 # test LowerTriangular version
502509 M = Hermitian (Bidiagonal (fill (2.0 , 4 ), im * ones (3 ), :L ), :L )
503510 C = cholesky! (copy (M))
504511 @test C. L * C. U ≈ M
512+ # non-(RealOrComplex) eltype
513+ A = Tridiagonal (randn (Quaternion{Float64}, 4 , 4 ) |> t -> t' t)
514+ C = cholesky (A)
515+ @test C. L * C. U ≈ A
516+ @test parent (C. U) isa Bidiagonal
505517end
506518
507519@testset " constructor with non-BlasInt arguments" begin
0 commit comments