Recent advancements have established tensor network states (TNS) as formidable tools for exploring the complex realm of strongly-correlated many-particle systems in both one and two dimensions. To tackle the challenges presented by strongly-correlated fermion systems, various fermion tensor network states (f-TNS) methodologies have been developed. However, implementing f-TNS methods poses substantial challenges due to their particularly complex nature, making development efforts significantly difficult. This complexity is further exacerbated by the lack of underlying software packages that facilitate the development of f-TNS. Previously, we developed TNSPackage, a software package designed for TNS methods [1]. Initially, this package was only capable of handling spin and boson models. To confront the challenges presented by f-TNS, TNSPackage has undergone significant enhancements in its latest version, incorporating support for both symmetry and fermion tensors. This updated version provides a uniform interface for the consistent management of tensors across boson, fermion, and various symmetry types, maintaining its user-friendly and versatile nature. This greatly facilitates the development of programs based on f-TNS. The new TNSP framework consists of two principal components: a low-level tensor package named TAT, which supports sophisticated tensor operations, and a high-level interface package called tetragono that is built upon TAT. The tetragono package is designed to significantly simplify the development of complex physical models on square lattices. The TNSPackage framework enables users to implement a wide range of physical models with greater ease, without the need to pay close attention to the underlying implementation details.NEW VERSION PROGRAM SUMMARYProgram Title:TNSPCPC Library link to program files:https://doi.org/10.17632/xvzvg6ktpc.1Developer's repository link:https://github.com/USTC-TNS/TNSPLicensing provisions: GPLv3Programming language: C++, PythonJournal reference of previous version: Comput. Phys. Commun. 228 (2018) 163–177Does the new version supersede the previous version?: YesReasons for the new version: The new version significantly enhances the functionality compared to the old version. It has expanded the capability to support fermion tensors and tensors with various symmetries. Furthermore, an advanced interface has been developed to facilitate the development of f-PEPS methods for complex physical models on square lattices.Summary of revisions: The package has been reconstructed by C++ from Fortran2003. A Python wrapper is constructed on top of the C++ code for the tensor package. It has expanded the capability to support fermion tensors and tensors with various symmetries. An advanced interface has been developed to facilitate the development of f-PEPS methods for complex physical models on square lattices.Nature of problem: The development of f-TNS methods is highly challenging, due to the anti-commutation properties of fermion operators.Solution method: We utilize the algorithms developed in Ref. [2] to treat fermion tensors.Additional comments including restrictions and unusual features: A C++17 compatible compiler like GCC 7+ or Clang 6+ is needed for building the C++ code of the tensor package. For the Python interface, it is recommended to use Python 3.8+. Python 3.8+ is required for the tensor network state interface as well.
Read full abstract