Skip to content

Commit ac3a7b1

Browse files
committed
update README
1 parent f46c3e5 commit ac3a7b1

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,49 @@ A Julia package for large-scale tensor computations, with a hint of category the
3838
[aqua-img]: https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg
3939
[aqua-url]: https://github.com/JuliaTesting/Aqua.jl
4040

41+
## Release notes for v0.15
42+
43+
TensorKit v0.15 consists of a (mostly internal) rewrite of the tensor factorizations to make
44+
use of [MatrixAlgebraKit.jl](https://github.com/QuantumKitHub/MatrixAlgebraKit.jl). This
45+
comes with a number of performance improvements, but also some breaking changes:
46+
47+
1. The full interface of `MatrixAlgebraKit` decompositions is now supported, such that we
48+
now also support truncated eigenvalue decompositions via `eig_trunc` and `eigh_trunc`,
49+
and have dedicated functions for `qr_compact`/`lq_compact`, `qr_full`/`lq_full`,
50+
`qr_null`/`lq_null` and `left_polar`/`right_polar`.
51+
52+
2. The previous factorization interface is now deprecated, and users should migrate from the
53+
deprecated functions to their MatrixAlgebraKit counterparts:
54+
- `leftorth`/`rightorth` -> `left_orth`/`right_orth`
55+
- `leftnull`/`rightnull` -> `left_null`/`right_null`
56+
- `tsvd` -> `svd_compact`, `svd_full` and `svd_trunc`
57+
- `eig` -> `eig_full` and `eig_trunc`
58+
- `eigh` -> `eigh_full` and `eigh_trunc`
59+
60+
3. The truncation interface has some improvements, in particular by having support for both
61+
absolute and relative tolerances, as well as a new `truncfilter` strategy to pass a
62+
filter function. `trunctol`, `truncrank` and `truncerror` replace the old `truncbelow`,
63+
`truncdim` and `truncerr`.
64+
65+
4. The factorizations pullbacks have been simplified, with a lot of boilerplate code removed
66+
and out-sourced to MatrixAlgebraKit.jl
67+
68+
## Release notes for v0.14
69+
70+
TensorKit v0.14 adds the `DiagonalTensorMap` type and provides some extra index functionality:
71+
72+
1. The `DiagonalTensorMap` is used to represent tensors that only contain diagonal entries,
73+
and map a single input `ElementarySpace` to the same output `ElementarySpace`. This is
74+
also the default output type for the matrix of singular and eigenvalues.
75+
76+
2. `flip(t, i)` changes the duality flag of the `i`th index of `t`, in such a way that
77+
flipping a pair of contracted indices in an `@tensor` contraction does not alter the
78+
result
79+
80+
3. `insertleftunit(t, i)` and `insertrightunit(t, i)` can be used to insert a trivial unit
81+
space to the left or right of an index `i`, whereas `removeunit(t, i)` undoes that
82+
operation.
83+
4184
## Release notes for v0.13
4285

4386
TensorKit v0.13 brings a number of performance improvements, but also comes with a number of

0 commit comments

Comments
 (0)