QSpace - An open-source tensor library for Abelian and non-Abelian symmetries
Andreas Weichselbaum
SciPost Phys. Codebases 40 (2024) · published 14 November 2024
- doi: 10.21468/SciPostPhysCodeb.40
- live repo (external)
- Submissions/Reports
This Publication is part of a bundle
When citing, cite all relevant items (e.g. for a Codebase, cite both the article and the release you used).
DOI | Type | |
---|---|---|
10.21468/SciPostPhysCodeb.40 | Article | |
10.21468/SciPostPhysCodeb.40-r4.0 | Codebase release |
Abstract
This is the documentation for the tensor library QSpace (v4.0) that provides 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 represented by the simple 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 open-source as of QSpace v4.0 on bitbucket (https://bitbucket.org/qspace4u) 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.