SciPost Submission Page
QSpace - An Open-Source Tensor Library for Abelian and non-Abelian Symmetries
by Andreas Weichselbaum
This is not the latest submitted version.
Submission summary
Authors (as registered SciPost users): | Andreas Weichselbaum |
Submission information | |
---|---|
Preprint Link: | scipost_202405_00027v1 (pdf) |
Code repository: | https://bitbucket.org/qspace4u/ |
Date submitted: | 2024-05-17 16:55 |
Submitted by: | Weichselbaum, Andreas |
Submitted to: | SciPost Physics Codebases |
Ontological classification | |
---|---|
Academic field: | Physics |
Specialties: |
|
Approach: | Computational |
Abstract
This is the documentation for the tensor library QSpace (v4.0), a toolbox to exploit `quantum symmetry spaces' in tensor network states in the quantum many-body context. QSpace permits arbitrary combinations of symmetries including the abelian symmetries $\mathbb{Z}_n$ and $U(1)$, as well as all non-abelian symmetries based on the semisimple classical Lie algebras: $A_n$, $B_n$, $C_n$, and $D_n$, or respectively, the special unitary group SU($n$), the odd orthogonal group SO($2n+1$), the symplectic group Sp($2n$), and the even orthogonal group SO($2n$). The code (C++ embedded via the MEX interface into Matlab) is available \href{https://bitbucket.org/qspace4u/}{open-source as of QSpace v4.0 on bitbucket} under the Apache 2.0 license. QSpace is designed as a bottom-up approach for non-abelian symmetries. It starts from the defining representation and the respective Lie algebra. By explicitly computing and tabulating generalized Clebsch-Gordan coefficient tensors, QSpace is versatile in its operations across all symmetries. At the level of an application, much of the symmetry-related details are hidden within the QSpace C++ core libraries. Hence when developing tensor network algorithms with QSpace, these can be coded (nearly) as if there are no symmetries at all, despite being able to fully exploit general non-abelian symmetries.
Current status:
Reports on this Submission
Report
The paper documents QSpace, a versatile tensor library designed to handle both Abelian and non-Abelian symmetries in quantum many-body systems. The library aims to simplify the implementation of tensor network algorithms by abstracting the complexity associated with handling symmetries. QSpace takes a bottom-up approach to the management of ( non-)Abelian symmetries, using generalised Clebsch-Gordan coefficients to facilitate operations across different symmetries. It includes a comprehensive set of essential tools and elementary operations on tensors, along with tutorials and practical applications that demonstrate its capabilities in complex quantum problems.
The manuscript is well and precisely written. It serves as a useful handbook to help users get started with the QSpace library. The underlying concepts of handling (non)-Abelian symmetries are outlined, yet the focus is on user interfaces and practical use. As such, the paper is a self-contained reference to the QSpace library.
I suggest publication in its present form in SciPost Physics Codebases, with possible incorporation of the minor comments listed below.
- It would be helpful to write out abbreviations the first time they appear, e.g. for irops and ireps.
- In the discussion of the growing number of individual symmetry blocks, the alternative of storing the symmetric tensors as a matrix from the incoming to the outgoing indices could be discussed. This reduces the number of symmetry blocks considerably.
- Given the quantum many-body context for which the library is designed and used, an example of a one-dimensional TN algorithm such as DMRG could be appreciated by users starting with the library.
- In two dimensions, using PEPS, iterative power methods are often used to contract the infinite tensor network. A comment on the reliability of the numerical implementation of the CGTs would be helpful, e.g. can errors proliferate in such algorithms?
- Trailing singleton dimensions are not shown in the RMT, but are shown for the CGTs.
- Inconsistent use of "j symbols" and "j-symbols".
- In Eq. (12) and surrounding text, one could use q_{\mathfrak{r}} instead of q_r, as in Eq. (14).
- On page 56, "The second symmetry label describes the SU(2) spin" should be q_2
Recommendation
Publish (easily meets expectations and criteria for this Journal; among top 50%)
Author: Andreas Weichselbaum on 2024-07-04 [id 4600]
(in reply to Report 1 on 2024-06-28)**Reply on DMRG application:**
The focus of this documentation is on QSpace as a tensor library, i.e., on the description and handling of tensors. Matter of fact, a full fledged DMRG exists in the repository, [cf. App. C.1, DMRG simulations]. Its detailed documentation, however, would far exceed the scope of the present paper. Hence this is left for the future.
**Reply on PEPS and iterative power methods:**
The CGTs are computed once and for all in high-precision format and thus exact in double precision accuracy [cf. Sec. 2.13: CGT data storage and precision].
In iterative power methods then, it is reasonable to expect that the required pool of symmetry-related objects quickly becomes exhausted. The necessary objects in the RC_STORE, if not yet present, would be generated once and for all. Hence there should be no issue whatsoever with respect to proliferating errors from the CGT perspective in this regard.
I'd expect that the dominant numerical error in iterative power methods stems from the RMTs. However, because the RMTs can be considerably smaller in size in the presence of non-abelian symmetries, the numerically accumulated error should be less, e.g., compared to simulations that do not exploit symmetries or just U(1) symmetries.
Moreover, any symmetry explicitly handled in a tensor library is exact by construction. Hence it cannot be broken due to numerical noise. The ability then to manually reduce symmetry permits one to study effects related to (spontaneous) symmetry breaking where relevant.