@@ -52,10 +52,12 @@ function MAK.is_right_isometric(t::AdjointTensorMap; kwargs...)
5252end
5353
5454# 2-arg functions
55- for (left_f! , right_f! ) in zip (
56- (:qr_full! , :qr_compact! , :left_polar! ),
57- (:lq_full! , :lq_compact! , :right_polar! )
55+ for (left_f, right_f) in zip (
56+ (:qr_full , :qr_compact , :left_polar ),
57+ (:lq_full , :lq_compact , :right_polar )
5858 )
59+ left_f! = Symbol (left_f, :! )
60+ right_f! = Symbol (right_f, :! )
5961 @eval function MAK. copy_input (:: typeof ($ left_f!), t:: AdjointTensorMap )
6062 return adjoint (MAK. copy_input ($ right_f!, adjoint (t)))
6163 end
@@ -74,26 +76,10 @@ for (left_f!, right_f!) in zip(
7476 return reverse (adjoint .(MAK. initialize_output ($ left_f!, adjoint (t), _adjoint (alg))))
7577 end
7678
77- @eval function MAK. $left_f! (t:: AdjointTensorMap , F, alg:: AbstractAlgorithm )
79+ @eval MAK.$ left_f! (t:: AdjointTensorMap , F, alg:: AbstractAlgorithm ) =
7880 $ right_f! (adjoint (t), reverse (adjoint .(F)), _adjoint (alg))
79- return F
80- end
81- @eval function MAK. $right_f! (t:: AdjointTensorMap , F, alg:: AbstractAlgorithm )
81+ @eval MAK.$ right_f! (t:: AdjointTensorMap , F, alg:: AbstractAlgorithm ) =
8282 $ left_f! (adjoint (t), reverse (adjoint .(F)), _adjoint (alg))
83- return F
84- end
85- end
86-
87- for (left_f, right_f) in zip (
88- (:qr_full , :qr_compact , :left_polar ),
89- (:lq_full , :lq_compact , :right_polar )
90- )
91- @eval function MAK. $left_f (t:: AdjointTensorMap ; kwargs... )
92- return reverse (adjoint .($ right_f (adjoint (t); kwargs... )))
93- end
94- @eval function MAK. $right_f (t:: AdjointTensorMap ; kwargs... )
95- return reverse (adjoint .($ left_f (adjoint (t); kwargs... )))
96- end
9783end
9884
9985# 3-arg functions
0 commit comments