@@ -2180,8 +2180,13 @@ factorize(A::AbstractTriangular) = A
2180
2180
* (A:: AbstractTriangular , B:: TransposeAbsVec ) = transpose (transpose (B) * transpose (A))
2181
2181
2182
2182
# disambiguation methods: /(Adjoint of AbsVec, <:AbstractTriangular)
2183
- / (u:: AdjointAbsVec , A:: AbstractTriangular ) = adjoint (adjoint (A) \ u. parent)
2184
- # disambiguation methods: /(Adjoint of AbsVec, Adj/Trans of <:AbstractTriangular)
2185
- / (u:: TransposeAbsVec , A:: AbstractTriangular ) = transpose (transpose (A) \ u. parent)
2183
+ / (u:: AdjointAbsVec , A:: Union{LowerTriangular,UpperTriangular} ) = adjoint (adjoint (A) \ u. parent)
2184
+ / (u:: AdjointAbsVec , A:: Union{UnitLowerTriangular,UnitUpperTriangular} ) = adjoint (adjoint (A) \ u. parent)
2186
2185
# disambiguation methods: /(Transpose of AbsVec, Adj/Trans of <:AbstractTriangular)
2187
- / (u:: TransposeAbsVec , A:: AbstractTriangular{<:Any,<:Adjoint} ) = transpose (conj (A. parent) \ u. parent)
2186
+ for (tritype, comptritype) in ((:LowerTriangular , :UpperTriangular ),
2187
+ (:UnitLowerTriangular , :UnitUpperTriangular ),
2188
+ (:UpperTriangular , :LowerTriangular ),
2189
+ (:UnitUpperTriangular , :UnitLowerTriangular ))
2190
+ @eval / (u:: TransposeAbsVec , A:: $tritype{<:Any,<:Adjoint} ) = transpose ($ comptritype (conj (parent (parent (A)))) \ u. parent)
2191
+ @eval / (u:: TransposeAbsVec , A:: $tritype{<:Any,<:Transpose} ) = transpose (transpose (A) \ u. parent)
2192
+ end
0 commit comments