From 6c944635a6a65c15baaabd8158095981ebeb8bda Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Wed, 22 Jan 2025 11:41:39 +0000 Subject: [PATCH] Resolve ambiguities between Adj/Trans and Sym/Herm --- Project.toml | 2 +- src/mul.jl | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index e5c83b2..f729a83 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ArrayLayouts" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" authors = ["Sheehan Olver "] -version = "1.11.0" +version = "1.11.1" [deps] FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" diff --git a/src/mul.jl b/src/mul.jl index 377c397..bfd2849 100644 --- a/src/mul.jl +++ b/src/mul.jl @@ -346,6 +346,14 @@ end *(A::Adjoint{<:Any,<:LayoutVector}, B::Transpose{<:Any,<:LayoutMatrix}) = mul(A,B) *(A::Transpose{<:Any,<:LayoutVector}, B::Adjoint{<:Any,<:LayoutMatrix}) = mul(A,B) *(A::Transpose{<:Any,<:LayoutVector}, B::Transpose{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Adjoint{<:Any,<:LayoutMatrix}, B::Symmetric{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Adjoint{<:Any,<:LayoutMatrix}, B::Hermitian{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Transpose{<:Any,<:LayoutMatrix}, B::Symmetric{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Transpose{<:Any,<:LayoutMatrix}, B::Hermitian{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Symmetric{<:Any,<:LayoutMatrix}, B::Adjoint{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Hermitian{<:Any,<:LayoutMatrix}, B::Adjoint{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Symmetric{<:Any,<:LayoutMatrix}, B::Transpose{<:Any,<:LayoutMatrix}) = mul(A,B) +*(A::Hermitian{<:Any,<:LayoutMatrix}, B::Transpose{<:Any,<:LayoutMatrix}) = mul(A,B) # Disambiguation with FillArrays *(A::AbstractFill{<:Any,2}, B::LayoutVector) = invoke(*, Tuple{AbstractFill{<:Any,2}, AbstractVector}, A, B)