@@ -214,26 +214,49 @@ contract!
214214
215215## ` TensorMap ` factorizations
216216
217- The factorisation methods come in two flavors, namely a non-destructive version where you
218- can specify an additional permutation of the domain and codomain indices before the
219- factorisation is performed (provided that ` sectorstyle(t) ` has a symmetric braiding) as
220- well as a destructive version The non-destructive methods are given first:
221-
222- ``` @docs
223- leftorth
224- rightorth
225- leftnull
226- rightnull
227- tsvd
228- eigh
229- eig
230- eigen
217+ The factorisation methods are powered by [ MatrixAlgebraKit.jl] ( https://github.com/QuantumKitHub/MatrixAlgebraKit.jl )
218+ and all follow the same strategy. The idea is that the ` TensorMap ` is interpreted as a linear
219+ map based on the current partition of indices between ` domain ` and ` codomain ` , and then the
220+ entire range of MatrixAlgebraKit functions can be called.
221+ You can specify an additional permutation of the domain and codomain indices before the
222+ factorisation is performed by making use of [ ` permute ` ] ( @ref ) or [ ` transpose ` ] ( @ref ) ,
223+
224+ ``` @docs
225+ left_orth
226+ right_orth
227+ left_null
228+ right_null
229+ svd_compact
230+ svd_full
231+ svd_vals
232+ eig_full
233+ eig_vals
234+ eigh_full
235+ eigh_vals
231236isposdef
232237```
233238
234- The corresponding destructive methods have an exclamation mark at the end of their name,
235- and only accept the ` TensorMap ` object as well as the method-specific algorithm and keyword
236- arguments.
239+ Additionally, it is possible to obtain truncated versions of some of these factorizations
240+ through the [ ` MatrixAlgebraKit.TruncationStrategy ` ] ( @ref ) objects.
241+
242+ ``` @docs
243+ svd_trunc
244+ eig_trunc
245+ eigh_trunc
246+ ```
247+
248+ The exact truncation strategy can be controlled through one of the following strategies:
237249
250+ ``` @docs
251+ notrunc
252+ trunctol
253+ truncrank
254+ truncerr
255+ truncspace
256+ ```
238257
239- TODO: document svd truncation types
258+ It is additionally possible to combine multiple strategies through ` & ` , e.g.
259+
260+ ``` julia
261+ combined_truncation = trunctol (; atol= 1e-2 ) & truncrank (3 )
262+ ```
0 commit comments