You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -48,9 +47,11 @@ TensorKit v0.13 brings a number of performance improvements, but also comes with
48
47
breaking changes:
49
48
50
49
1. The scalar type (the `eltype` of the tensor data) is now an explicit parameter of the
51
-
the `TensorMap` type, and appears in the first position. As a consequence, `TensorMap{T}(undef, codomain ← domain)` can and should now be used to create a `TensorMap` with uninitialised data with scalar type `T`.
50
+
the `TensorMap` type, and appears in the first position. As a consequence,
51
+
`TensorMap{T}(undef, codomain ← domain)` can and should now be used to create a
52
+
`TensorMap` with uninitialised data with scalar type `T`.
52
53
53
-
2. The constructors for creating tensors with randomly initialised data, of the form
54
+
3. The constructors for creating tensors with randomly initialised data, of the form
54
55
`TensorMap(randn, T, codomain ← domain)`, are being replaced with
55
56
`randn(T, codomain ← domain)`. Hence, we overload the methods `rand` and `randn` from
56
57
Base (actually, Random, and also `Random.randexp`) and mimick the `Array` constructors,
@@ -62,21 +63,21 @@ breaking changes:
62
63
removed in the 1.0 release.
63
64
64
65
3. The `TensorMap` data structure has been changed (simplified), so that all tensor data now
65
-
resides in a single array of type `<:DenseVector`. While this should not does not lead to
66
-
breaking changes in the interface, it does mean that `TensorMap` objects from
67
-
TensorKit.jl v0.12.7 or earlier that were saved to disk using e.g. JLD2.jl, cannot simply
68
-
be read back in using the new version of TensorKit.jl. We provide a script below export
69
-
data in a format that can be read back in by TensorKit.jl v0.13.
66
+
resides in a single array of type `<:DenseVector`. While this does not lead to breaking
67
+
changes in the interface, it does mean that `TensorMap` objects from TensorKit.jl
68
+
v0.12.7 or earlier that were saved to disk using e.g. JLD2.jl, cannot simply be read back
69
+
in using the new version of TensorKit.jl. We provide a script [below](https://github.com/Jutho/TensorKit.jl/edit/master/README.md#transferring-tensormap-data-from-older-versions-to-v013)
70
+
to export data in a format that can be read back in by TensorKit.jl v0.13.
70
71
71
72
Major non-breaking changes include:
72
73
73
74
* Support for [TensorOperations.jl v5](https://github.com/Jutho/TensorOperations.jl), and
74
75
with this the new backend and allocator support within the `@tensor` macro.
75
-
* The part of TensorKit.jl that defines `Sector` type hierarchy and its corresponding
76
+
* The part of TensorKit.jl that defines the `Sector` type hierarchy and its corresponding
76
77
interface, as well as the implementation of all of the standard symmetries, has been
77
78
moved to a separate package called [TensorKitSectors.jl](https://github.com/QuantumKitHub/TensorKitSectors.jl),
78
79
so that it can also be used by other packages and is a more lightweight dependency.
79
-
TensorKitSectors.jl a direct dependency and is automatically installed when installing
80
+
TensorKitSectors.jl is a direct dependency and is automatically installed when installing
80
81
TensorKit.jl. Furthermore, its public interface is re-exported by TensorKit.jl, so that
81
82
this should not have any observable consequences.
82
83
* The `fusiontrees` iterator now iterates over `FusionTree` objects in a different order,
@@ -94,7 +95,7 @@ Major non-breaking changes include:
94
95
To export `TensorMap` data from TensorKit.jl v0.12.7 or earlier, you should first export the
95
96
data there in a format that is explicit about how tensor data is associated with the
96
97
structural part of the tensor, i.e. the splitting and fusion tree pairs. Therefore, on the
97
-
older version of TensorKit.jl, use the following code to save teh data
98
+
older version of TensorKit.jl, use the following code to save the data
98
99
99
100
```julia
100
101
using JLD2
@@ -135,18 +136,24 @@ end
135
136
136
137
## Overview
137
138
138
-
TensorKit.jl is a package that provides a types and methods to represent and manipulate
139
+
TensorKit.jl is a package that provides types and methods to represent and manipulate
139
140
tensors with symmetries. The emphasis is on the structure and functionality needed to build
140
141
tensor network algorithms for the simulation of quantum many-body systems. Such tensors are
141
142
typically invariant under a symmetry group which acts via specific representions on each of
142
143
the indices of the tensor. TensorKit.jl provides the functionality for constructing such
143
144
tensors and performing typical operations such as tensor contractions and decompositions,
144
145
thereby preserving the symmetries and exploiting them for optimal performance.
145
146
146
-
While most common symmetries are already shipped with TensorKit.jl, there exist several extensions: [SUNRepresentations.jl](https://github.com/maartenvd/SUNRepresentations.jl) provides support for SU(N), while [CategoryData.jl](https://github.com/lkdvos/CategoryData.jl) incorporates a large collection of *small* fusion categories.
147
-
Additionally, for libraries that implement tensor network algorithms on top of TensorKit.jl, check out [MPSKit.jl](https://github.com/maartenvd/MPSKit.jl), [MERAKit.jl](https://github.com/mhauru/MERAKit.jl) and [PEPSKit.jl](https://github.com/quantumghent/PEPSKit.jl).
147
+
While most common symmetries are already shipped with TensorKit.jl, there exist several
provides support for SU(N), while [CategoryData.jl](https://github.com/lkdvos/CategoryData.jl)
150
+
incorporates a large collection of *small* fusion categories.
151
+
Additionally, for libraries that implement tensor network algorithms on top of
152
+
TensorKit.jl, check out [MPSKit.jl](https://github.com/QuantumKitHub/MPSKit.jl),
153
+
[MERAKit.jl](https://github.com/mhauru/MERAKit.jl) and [PEPSKit.jl](https://github.com/QuantumKitHub/PEPSKit.jl).
148
154
149
-
Check out the [tutorial](https://jutho.github.io/TensorKit.jl/stable/man/tutorial/) and the full [documentation](https://jutho.github.io/TensorKit.jl/stable).
155
+
Check out the [tutorial](https://jutho.github.io/TensorKit.jl/stable/man/tutorial/) and the
156
+
full [documentation](https://jutho.github.io/TensorKit.jl/stable).
150
157
151
158
## Installation
152
159
`TensorKit.jl` can be installed with the Julia package manager.
0 commit comments