You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* intro MatrixMap, 5-arg mul! for WrappedMaps -> LinAlg
* make adjoint/transpose invariant for MatrixMaps
* inherit properties of MatrixMap, add comparison
* test TransposeMap/AdjointMap based on FunctionMaps
* add specialized matrix-muls for linearcombinations
* introduce FreeMap, test for zero allocations
# no size checking, will be done by individual maps
80
+
A_mul_B!(y, A.maps[1], x)
81
+
l =length(A.maps)
82
+
if l>1
83
+
z =similar(y)
84
+
for n in2:l
85
+
An = A.maps[n]
86
+
if An isa FreeMap
87
+
mul!(y, An, x, true, true)
88
+
else
89
+
A_mul_B!(z, A.maps[n], x)
90
+
y .+= z
91
+
end
92
+
end
93
+
end
94
+
return y
95
+
end
96
+
97
+
function LinearAlgebra.mul!(y::AbstractVector, A::LinearCombination{T,As}, x::AbstractVector, α::Number=true, β::Number=false) where {T, As<:Tuple{Vararg{FreeMap}}}
0 commit comments