Skip to content

Commit 46807e5

Browse files
committed
small docs update
1 parent 1084853 commit 46807e5

File tree

1 file changed

+41
-18
lines changed

1 file changed

+41
-18
lines changed

docs/src/lib/tensors.md

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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
231236
isposdef
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

Comments
 (0)