@@ -76,13 +76,13 @@ function _embedders(spaces)
7676 totalspace = reduce (⊕ , spaces)
7777
7878 maps = [isometry (totalspace, first (spaces))]
79- restmap = leftnull (first (maps))
79+ restmap = left_null (first (maps))
8080
8181 for sp in spaces[2 : end ]
8282 cm = isometry (domain (restmap), sp)
8383
8484 push! (maps, restmap * cm)
85- restmap = restmap * leftnull (cm)
85+ restmap = restmap * left_null (cm)
8686 end
8787
8888 return maps
@@ -151,28 +151,28 @@ function check_unambiguous_braiding(V::VectorSpace)
151151end
152152
153153# temporary workaround for the fact that left_orth and right_orth are poorly designed:
154- function _left_orth! (t; alg:: MatrixAlgebraKit.AbstractAlgorithm )
154+ function _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)
156+ return left_orth! (t; kind = :qr , alg_qr = alg, trunc )
157157 elseif alg isa LAPACK_HouseholderLQ
158- return left_orth! (t; kind = :qr , alg_qr = LAPACK_HouseholderQR (; alg. kwargs... ))
158+ return left_orth! (t; kind = :qr , alg_qr = LAPACK_HouseholderQR (; alg. kwargs... ), trunc )
159159 elseif alg isa PolarViaSVD
160- return left_orth! (t; kind = :polar , alg_polar = alg)
160+ return left_orth! (t; kind = :polar , alg_polar = alg, trunc )
161161 elseif alg isa LAPACK_SVDAlgorithm
162- return left_orth! (t; kind = :svd , alg_svd = alg)
162+ return left_orth! (t; kind = :svd , alg_svd = alg, trunc )
163163 else
164164 error (lazy " unkown algorithm $alg" )
165165 end
166166end
167- function _right_orth! (t; alg:: MatrixAlgebraKit.AbstractAlgorithm )
167+ function _right_orth! (t; alg:: MatrixAlgebraKit.AbstractAlgorithm , trunc :: TruncationStrategy = notrunc () )
168168 if alg isa LAPACK_HouseholderLQ
169- return right_orth! (t; kind = :lq , alg_lq = alg)
170- elseif alg isa LAPACK_HouseholderQr
171- return right_orth! (t; kind = :lq , alg_lq = LAPACK_HouseholderLQ (; alg. kwargs... ))
169+ return right_orth! (t; kind = :lq , alg_lq = alg, trunc )
170+ elseif alg isa LAPACK_HouseholderQR
171+ return right_orth! (t; kind = :lq , alg_lq = LAPACK_HouseholderLQ (; alg. kwargs... ), trunc )
172172 elseif alg isa PolarViaSVD
173- return right_orth! (t; kind = :polar , alg_polar = alg)
173+ return right_orth! (t; kind = :polar , alg_polar = alg, trunc )
174174 elseif alg isa LAPACK_SVDAlgorithm
175- return right_orth! (t; kind = :svd , alg_svd = alg)
175+ return right_orth! (t; kind = :svd , alg_svd = alg, trunc )
176176 else
177177 error (lazy " unkown algorithm $alg" )
178178 end
0 commit comments