The Cytnx Library for Tensor Networks
Kai-Hsin Wu, Chang-Teng Lin, Ke Hsu, Hao-Ti Hung, Manuel Schneider,, Chia-Min Chung, Ying-Jer Kao, Pochung Chen

TL;DR
Cytnx is a versatile tensor network library supporting both C++ and Python, optimized for physics simulations, with features like symmetry implementation, automatic contraction ordering, and GPU acceleration.
Contribution
It introduces a user-friendly, cross-language tensor network library with symmetry support and automatic contraction optimization, enhancing efficiency for classical and quantum physics simulations.
Findings
Efficient tensor operations on CPU and GPU demonstrated
User-friendly interface similar to NumPy and PyTorch
Supports multiple Abelian symmetries and automatic contraction ordering
Abstract
We introduce a tensor network library designed for classical and quantum physics simulations called Cytnx (pronounced as sci-tens). This library provides almost an identical interface and syntax for both C++ and Python, allowing users to effortlessly switch between two languages. Aiming at a quick learning process for new users of tensor network algorithms, the interfaces resemble the popular Python scientific libraries like NumPy, Scipy, and PyTorch. Not only multiple global Abelian symmetries can be easily defined and implemented, Cytnx also provides a new tool called Network that allows users to store large tensor networks and perform tensor network contractions in an optimal order automatically. With the integration of cuQuantum, tensor calculations can also be executed efficiently on GPUs. We present benchmark results for tensor operations on both devices, CPU and GPU. We also…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications · Parallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems
