@@ -153,26 +153,34 @@ end
153153# temporary workaround for the fact that left_orth and right_orth are poorly designed:
154154function _left_orth! (t; alg:: MatrixAlgebraKit.AbstractAlgorithm , trunc:: MatrixAlgebraKit.TruncationStrategy = notrunc ())
155155 if alg isa LAPACK_HouseholderQR
156- return left_orth! (t; kind = :qr , alg_qr = alg, trunc)
156+ left_orth_alg = MatrixAlgebraKit. select_algorithm (left_orth!, t, Val (:qr ); alg. kwargs... )
157+ return left_orth! (t, left_orth_alg)
157158 elseif alg isa LAPACK_HouseholderLQ
158- return left_orth! (t; kind = :qr , alg_qr = LAPACK_HouseholderQR (; alg. kwargs... ), trunc)
159+ left_orth_alg = MatrixAlgebraKit. select_algorithm (left_orth!, t, Val (:qr ); alg. kwargs... )
160+ return left_orth! (t, left_orth_alg)
159161 elseif alg isa PolarViaSVD
160- return left_orth! (t; kind = :polar , alg_polar = alg, trunc)
162+ left_orth_alg = MatrixAlgebraKit. select_algorithm (left_orth!, t, Val (:polar ); alg. kwargs... )
163+ return left_orth! (t, left_orth_alg)
161164 elseif alg isa LAPACK_SVDAlgorithm
162- return left_orth! (t; kind = :svd , alg_svd = alg, trunc)
165+ left_orth_alg = MatrixAlgebraKit. select_algorithm (left_orth!, t, Val (:svd ); trunc, alg. kwargs... )
166+ return left_orth! (t, left_orth_alg)
163167 else
164168 error (lazy " unkown algorithm $alg" )
165169 end
166170end
167171function _right_orth! (t; alg:: MatrixAlgebraKit.AbstractAlgorithm , trunc:: TruncationStrategy = notrunc ())
168172 if alg isa LAPACK_HouseholderLQ
169- return right_orth! (t; kind = :lq , alg_lq = alg, trunc)
173+ right_orth_alg = MatrixAlgebraKit. select_algorithm (right_orth!, t, Val (:lq ); alg. kwargs... )
174+ return right_orth! (t, right_orth_alg)
170175 elseif alg isa LAPACK_HouseholderQR
171- return right_orth! (t; kind = :lq , alg_lq = LAPACK_HouseholderLQ (; alg. kwargs... ), trunc)
176+ right_orth_alg = MatrixAlgebraKit. select_algorithm (right_orth!, t, Val (:lq ); alg. kwargs... )
177+ return right_orth! (t, right_orth_alg)
172178 elseif alg isa PolarViaSVD
173- return right_orth! (t; kind = :polar , alg_polar = alg, trunc)
179+ right_orth_alg = MatrixAlgebraKit. select_algorithm (right_orth!, t, Val (:polar ); alg. kwargs... )
180+ return right_orth! (t, right_orth_alg)
174181 elseif alg isa LAPACK_SVDAlgorithm
175- return right_orth! (t; kind = :svd , alg_svd = alg, trunc)
182+ right_orth_alg = MatrixAlgebraKit. select_algorithm (right_orth!, t, Val (:svd ); trunc, alg. kwargs... )
183+ return right_orth! (t, right_orth_alg)
176184 else
177185 error (lazy " unkown algorithm $alg" )
178186 end
0 commit comments