Table of Contents
Fetching ...

SeeMPS: A Python-based Matrix Product State and Tensor Train Library

Paula García-Molina, Juan José Rodríguez-Aldavero, Jorge Gidi, Juan José García-Ripoll

TL;DR

SeeMPS presents a Python library for tensor-network computations based on Matrix Product States (MPS) and Quantized Tensor Trains (QTT), enabling efficient finite-precision linear algebra in spaces that scale exponentially with system size. It articulates a three-tier design: MPS/MPO representations, a comprehensive MPS-BLAS/LAPACK-inspired operation set with error control, and high-level algorithms for eigenvalue problems, linear systems, and Fourier transforms, all integrated with controlled truncations. The library extends beyond quantum physics to function encoding, differentiation, integration, and high-dimensional PDE-like problems via QTT, TCI, and complementary techniques, providing tools for quantum-inspired numerical analysis and PDE solvers. SeeMPS thus offers a practical, architecture-friendly framework that unifies low-level tensor operations with sophisticated algorithms, enabling scalable simulations, quantum computing emulation, and high-dimensional numerical analysis across disciplines.

Abstract

We introduce SeeMPS, a Python library dedicated to implementing tensor network algorithms based on the well-known Matrix Product States (MPS) and Quantized Tensor Train (QTT) formalisms. SeeMPS is implemented as a complete finite precision linear algebra package where exponentially large vector spaces are compressed using the MPS/TT formalism. It enables both low-level operations, such as vector addition, linear transformations, and Hadamard products, as well as high-level algorithms, including the approximation of linear equations, eigenvalue computations, and exponentially efficient Fourier transforms. This library can be used for traditional quantum many-body physics applications and also for quantum-inspired numerical analysis problems, such as solving PDEs, interpolating and integrating multidimensional functions, sampling multivariate probability distributions, etc.

SeeMPS: A Python-based Matrix Product State and Tensor Train Library

TL;DR

SeeMPS presents a Python library for tensor-network computations based on Matrix Product States (MPS) and Quantized Tensor Trains (QTT), enabling efficient finite-precision linear algebra in spaces that scale exponentially with system size. It articulates a three-tier design: MPS/MPO representations, a comprehensive MPS-BLAS/LAPACK-inspired operation set with error control, and high-level algorithms for eigenvalue problems, linear systems, and Fourier transforms, all integrated with controlled truncations. The library extends beyond quantum physics to function encoding, differentiation, integration, and high-dimensional PDE-like problems via QTT, TCI, and complementary techniques, providing tools for quantum-inspired numerical analysis and PDE solvers. SeeMPS thus offers a practical, architecture-friendly framework that unifies low-level tensor operations with sophisticated algorithms, enabling scalable simulations, quantum computing emulation, and high-dimensional numerical analysis across disciplines.

Abstract

We introduce SeeMPS, a Python library dedicated to implementing tensor network algorithms based on the well-known Matrix Product States (MPS) and Quantized Tensor Train (QTT) formalisms. SeeMPS is implemented as a complete finite precision linear algebra package where exponentially large vector spaces are compressed using the MPS/TT formalism. It enables both low-level operations, such as vector addition, linear transformations, and Hadamard products, as well as high-level algorithms, including the approximation of linear equations, eigenvalue computations, and exponentially efficient Fourier transforms. This library can be used for traditional quantum many-body physics applications and also for quantum-inspired numerical analysis problems, such as solving PDEs, interpolating and integrating multidimensional functions, sampling multivariate probability distributions, etc.
Paper Structure (53 sections, 75 equations, 9 figures, 2 tables)

This paper contains 53 sections, 75 equations, 9 figures, 2 tables.

Figures (9)

  • Figure 1: (a) A high-dimensional vector $v_i$ is reinterpreted as a tensor $v_{s_1,s_2,\ldots,s_N}$ that can be decomposed in tensor train or matrix product state (MPS) forms, with smaller tensors $A_{\alpha_n,\alpha_{n+1}}^{(n),i_n}$ that occupy less space. (b) A similar procedure applied to matrices leads to what is known as a matrix product operator (MPO).
  • Figure 2: Illustration of core MPS-BLAS operations in SeeMPS: (a) matrix-vector product between an MPS with tensors $\{A^{(n)}\}$ and an MPO with tensors $\{B^{(n)}\}$; (b) element-wise vector products between two MPS with tensors $\{A^{(n)}\}$ and $\{B^{(n)}\}$.
  • Figure 3: The tensor product of two vectors $\textbf{v}\otimes\textbf{w}$ represented by tensor trains $\{\mathbf{A}\}$ and $\{\mathbf{B}\}$ is constructed in SeeMPS using (a) a sequential "A" or an (b) interleaved "B" order.
  • Figure 4: Pseudocode implementation of the conjugate gradient solver algorithm with MPS and MPO.
  • Figure 5: Discretization and encoding of a periodic function on a grid with 8 points, using an MPS with three qubits.
  • ...and 4 more figures