@@ -48,8 +48,12 @@ adapt_structure(to, A::LinearAlgebra.Diagonal) =
4848 LinearAlgebra. Diagonal (adapt (to, parent (A)))
4949adapt_structure (to, A:: LinearAlgebra.Tridiagonal ) =
5050 LinearAlgebra. Tridiagonal (adapt (to, A. dl), adapt (to, A. d), adapt (to, A. du))
51+ adapt_structure (to, A:: LinearAlgebra.Bidiagonal ) =
52+ LinearAlgebra. Bidiagonal (adapt (to, A. dv), adapt (to, A. ev), A. uplo)
5153adapt_structure (to, A:: LinearAlgebra.Symmetric ) =
5254 LinearAlgebra. Symmetric (adapt (to, parent (A)))
55+ adapt_structure (to, A:: LinearAlgebra.Hermitian ) =
56+ LinearAlgebra. Hermitian (adapt (to, parent (A)))
5357
5458
5559# we generally don't support multiple layers of wrappers, but some occur often
@@ -100,8 +104,10 @@ const WrappedArray{T,N,Src,Dst} = Union{
100104 LinearAlgebra. UpperTriangular{T,<: Dst },
101105 LinearAlgebra. UnitUpperTriangular{T,<: Dst },
102106 LinearAlgebra. Diagonal{T,<: Dst },
107+ LinearAlgebra. Bidiagonal{T,<: Dst },
103108 LinearAlgebra. Tridiagonal{T,<: Dst },
104109 LinearAlgebra. Symmetric{T,<: Dst },
110+ LinearAlgebra. Hermitian{T,<: Dst },
105111
106112 WrappedReinterpretArray{T,N,<: Src },
107113 WrappedReshapedArray{T,N,<: Src },
0 commit comments