SciPost Submission Page
GrassmannTN: a Python package for Grassmann tensor network computations
by Atis Yosprakob
This is not the latest submitted version.
This Submission thread is now published as
Submission summary
Authors (as registered SciPost users): | Atis Yosprakob |
Submission information | |
---|---|
Preprint Link: | https://arxiv.org/abs/2309.07557v2 (pdf) |
Code repository: | https://github.com/ayosprakob/grassmanntn |
Date submitted: | 2023-09-22 14:08 |
Submitted by: | Yosprakob, Atis |
Submitted to: | SciPost Physics Codebases |
Ontological classification | |
---|---|
Academic field: | Physics |
Specialties: |
|
Approaches: | Theoretical, Computational |
Abstract
We present GrassmannTN, a Python package for the computation of the Grassmann tensor network. The package is built to assist in the numerical computation without the need to input the fermionic sign factor manually. It prioritizes coding readability by designing every tensor manipulating function around the tensor subscripts. The computation of the Grassmann tensor renormalization group and Grassmann isometries using GrassmannTN are given as the use case examples.
Current status:
Reports on this Submission
Report #2 by Anonymous (Referee 2) on 2023-10-24 (Invited Report)
- Cite as: Anonymous, Report on arXiv:2309.07557v2, delivered 2023-10-24, doi: 10.21468/SciPost.Report.7992
Strengths
1- Very clear explanation of Grasmann tensors and their tensor network operations
2- Implementation of necessary basic operations in Grasmann tensor network calculations
3- Sufficient examples to show usefull features of GrassmannTN
Report
This manuscript introduces a Python package for the Grassmann tensor operations. This package supports the complicated fermion sign calculations often appearing in the Grassmann tensor network calculations and provides a sophisticated interface for these functionalities. The author also presents examples of codes for the tensor renormalization group (TRG) and calculations of isometries necessary for many tensor network algorithms.
Grasmann tensors are useful for treating fermionic degrees of freedom in tensor network algorithms. However, when we implement it in program codes, as the author clearly explained, treating signs due to the anti-commuting nature of the fermions becomes complicated. This program package supports the treatment of such complex signs, and users can avoid taking care of them explicitly when they develop their codes. As far as I know, there is no similar open-source code for the Grasmann tensor network. Thus, this package will provide an essential basis for developing and implementing Grasmann tensor network algorithms.
The design principle of the package and examples of codes are clearly written, and I expect that developers will easily try this package. In addition to them, the formulation written in the appendix is helpful for beginners in Grasmann tensors. Thus, I recommend the publication of this manuscript and package in SciPost Physics Codebases.
Minor comments:
(i) In the first sentence of page 21, the author state, "To squeeze the legs, we have to rearrange the indices so that the legs to be squeezed
are separated from the others with grassmanntn.einsum()." I feel that the meaning of the term "separated" is slightly ambiguous. If the author adds more explanations, it may help readers.
(ii)
Although the author does not explicitly write, i and j in Eq. (A. 6) seem restricted to 0 or 1. If this is the case, it is better to write such information explicitly.
(iii)
Below Eq. (A. 51), "If M is Hermitian, the eigenvalue decomposition (gEigD) gives U = V† and λ_I being the eigenvalues.". I think that the eigenvalues of a Hermitian matrix can be negative, although the singular values are non-negative. So, I naively feel that the author implicitly assumes another additional condition for M.
Report #1 by Bram Vanhecke (Referee 1) on 2023-10-19 (Invited Report)
Strengths
1. Many examples
2. Clear explanation from the basics up
Report
A thorough description of a toolbox for Grassmann tensor networks. Plenty of examples and a decent explanation of the underlying theory.
Author: Atis Yosprakob on 2023-10-25 [id 4063]
(in reply to Report 2 on 2023-10-24)I agree with comments (i) and (ii) and will clarify them in the revised version.
For comment (iii), I tried to say that the eigendecomposition of a Hermitian matrix takes the same form as that of the SVD and did not mean to make a direct association between the two. I will rephrase that sentence in the revised version.