Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

matrix product representation library

Project description


A matrix product representation library for Python

mpnum is a flexible, user-friendly, and expandable toolbox for the matrix product state/tensor train tensor format. mpnum provides:

  • support for well-known matrix product representations, such as:
  • matrix product states (MPS), also known as tensor trains (TT)
  • matrix product operators (MPO)
  • local purification matrix product states (PMPS)
  • arbitrary matrix product arrays (MPA)
  • arithmetic operations: addition, multiplication, contraction etc.
  • compression, canonical forms, etc.
  • finding extremal eigenvalues and eigenvectors of MPOs (DMRG)
  • flexible tools for new matrix product algorithms

To install the latest stable version run

pip install mpnum

If you want to install mpnum from source, please run (on Unix)

git clone cd mpnum pip install .

In order to run the tests and build the documentation, you have to install the development dependencies via

pip install -r requirements.txt

For more information, see:

  • Introduction to mpnum
  • Notebook with code examples
  • Library reference
  • Contribution Guidelines

Required packages:

  • six, numpy, scipy

Supported Python versions:

  • 2.7, 3.4, 3.5, 3.6


  • TT-Toolbox for Matlab
  • ttpy for Python
  • ITensor for C++

How to contribute

Contributions of any kind are very welcome. Please use the issue tracker for bug reports. If you want to contribute code, please see the section on how to contribute in the documentation.



Distributed under the terms of the BSD 3-Clause License (see LICENSE).


mpnum has been used and cited in the following publications:

    1. Dhand et al. (2017), arXiv 1710.06103
    1. Schwartz, J. Scheuer et al. (2017), arXiv 1710.01508
    1. Scheuer et al. (2017), arXiv 1706.01315
      1. Lanyon, Ch. Maier et al, Nat. Phys. (2017), arXiv 1612.08000

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mpnum, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size mpnum-1.0.2-py2.py3-none-any.whl (78.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size mpnum-1.0.2.tar.gz (116.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page