Skip to content

Commit 14721f1

Browse files
authored
Multiplication with Triangular(::AdjOrTrans) (#159)
* Multiplication with Triangular(::AdjOrTrans) * Update ArrayLayouts.jl * Call lmul! from rmul! * Update triangular.jl
1 parent 6a3c516 commit 14721f1

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "ArrayLayouts"
22
uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "1.1.0"
4+
version = "1.1.1"
55

66
[deps]
77
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"

src/ArrayLayouts.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ macro layoutmatrix(Typ)
175175
ArrayLayouts.@layoutldiv $Typ
176176
ArrayLayouts.@layoutmul $Typ
177177
ArrayLayouts.@layoutlmul $Typ
178+
ArrayLayouts.@layoutrmul $Typ
178179
ArrayLayouts.@layoutfactorizations $Typ
179180
ArrayLayouts.@layoutgetindex $Typ
180181
end)

src/lmul.jl

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,16 @@ macro layoutlmul(Typ)
115115
ArrayLayouts.@_layoutlmul UnitUpperTriangular{T, <:$Typ{T}} where T
116116
ArrayLayouts.@_layoutlmul LowerTriangular{T, <:$Typ{T}} where T
117117
ArrayLayouts.@_layoutlmul UnitLowerTriangular{T, <:$Typ{T}} where T
118+
119+
ArrayLayouts.@_layoutlmul UpperTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
120+
ArrayLayouts.@_layoutlmul UnitUpperTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
121+
ArrayLayouts.@_layoutlmul LowerTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
122+
ArrayLayouts.@_layoutlmul UnitLowerTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
123+
124+
ArrayLayouts.@_layoutlmul UpperTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
125+
ArrayLayouts.@_layoutlmul UnitUpperTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
126+
ArrayLayouts.@_layoutlmul LowerTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
127+
ArrayLayouts.@_layoutlmul UnitLowerTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
118128
end)
119129
end
120130

@@ -131,5 +141,15 @@ macro layoutrmul(Typ)
131141
ArrayLayouts.@_layoutrmul UnitUpperTriangular{T, <:$Typ{T}} where T
132142
ArrayLayouts.@_layoutrmul LowerTriangular{T, <:$Typ{T}} where T
133143
ArrayLayouts.@_layoutrmul UnitLowerTriangular{T, <:$Typ{T}} where T
144+
145+
ArrayLayouts.@_layoutrmul UpperTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
146+
ArrayLayouts.@_layoutrmul UnitUpperTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
147+
ArrayLayouts.@_layoutrmul LowerTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
148+
ArrayLayouts.@_layoutrmul UnitLowerTriangular{T, <:Adjoint{T,<:$Typ{T}}} where T
149+
150+
ArrayLayouts.@_layoutrmul UpperTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
151+
ArrayLayouts.@_layoutrmul UnitUpperTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
152+
ArrayLayouts.@_layoutrmul LowerTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
153+
ArrayLayouts.@_layoutrmul UnitLowerTriangular{T, <:Transpose{T,<:$Typ{T}}} where T
134154
end)
135155
end

src/triangular.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ BLAS.trmm!('R', 'L', 'C', UNIT, one(T), triangulardata(A)', x)
196196
end
197197

198198

199-
materialize!(M::MatRmulMat{<:AbstractStridedLayout,<:TriangularLayout}) = LinearAlgebra.rmul!(M.A, M.B)
199+
materialize!(M::MatRmulMat{<:AbstractStridedLayout,<:TriangularLayout}) = lmul!(M.B', M.A')'
200200

201201

202202
########

0 commit comments

Comments
 (0)