Loading [MathJax]/extensions/Safe.js
SciPost logo

SciPost Submission Page

YASTN: Yet another symmetric tensor networks; A Python library for abelian symmetric tensor network calculations

by Marek M. Rams, Gabriela Wójtowicz, Aritra Sinha, Juraj Hasik

Submission summary

Authors (as registered SciPost users): Juraj Hasik · Marek Rams
Submission information
Preprint Link: scipost_202406_00058v2  (pdf)
Code repository: https://github.com/yastn/yastn
Code version: v1.2.0
Code license: Apache License Version 2.0
Data repository: https://github.com/yastn/yastn_benchmarks
Date accepted: 2025-02-03
Date submitted: 2025-01-06 00:26
Submitted by: Hasik, Juraj
Submitted to: SciPost Physics Codebases
Ontological classification
Academic field: Physics
Specialties:
  • Condensed Matter Physics - Theory
  • Condensed Matter Physics - Computational
  • Quantum Physics
Approaches: Theoretical, Computational

Abstract

We present an open-source tensor network Python library for quantum many-body simulations. At its core is an abelian-symmetric tensor, implemented as a sparse block structure managed by a logical layer on top of a dense multi-dimensional array backend. This serves as the basis for higher-level tensor network algorithms, operating on matrix product states and projected entangled pair states. An appropriate backend, such as PyTorch, gives direct access to automatic differentiation (AD) for cost-function gradient calculations and execution on GPU and other supported accelerators. We show the library performance in simulations with infinite projected entangled-pair states, such as finding the ground states with AD and simulating thermal states of the Hubbard model via imaginary time evolution. For these challenging examples, we identify and quantify sources of the numerical advantage exploited by the symmetric-tensor implementation.

Author comments upon resubmission

Dear Editor,

We are pleased to resubmit our revised manuscript. In this revision, we have carefully addressed all the comments and suggestions provided by the reviewers and have incorporated their valuable feedback into the manuscript. We hope that the revised version meets the expectations of the reviewers and the editorial team.

Sincerely,
Juraj Hasik
on behalf of all authors

List of changes

* We created a new repository for performance benchmarks at https://github.com/yastn/yastn_benchmarks. It includes a DMRG benchmark used by both TenPy and ITensor, as well as iPEPS optimization benchmarks from examples 1 and 2 in the manuscript.
* We now use overhead arrows for tuples of charges (or nested tuples for product groups) labeling charge sectors and tuples of sector bond dimensions.
* We clarified the notation for cyclic group C_N (Z_N).
* We expanded the descriptions of 'tensordot', 'fuse_legs', and 'unfuse_legs' functions, including syntax, leg ordering in tensordot results, and code examples demonstrating their usage.

Published as SciPost Phys. Codebases 52 (2025) , SciPost Phys. Codebases 52-r1.2 (2025)


Reports on this Submission

Report #1 by Johannes Hauschild (Referee 1) on 2025-1-7 (Invited Report)

Report

The authors have addressed the weaknesses raised in the previous reports, and I recommend a publication as is.

Recommendation

Publish (easily meets expectations and criteria for this Journal; among top 50%)

  • validity: -
  • significance: -
  • originality: -
  • clarity: -
  • formatting: -
  • grammar: -

Login to report or comment