Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
mpnum-1.0.2-py2.py3-none-any.whl (78.4 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Dec 13, 2017
mpnum-1.0.2.tar.gz (116.6 kB) Copy SHA256 hash SHA256 Source None Dec 13, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page