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:
- 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 https://github.com/dseuss/mpnum.git 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
- More examples from quantum physics (ground states, time evolution, unitary circuits)
- Library reference
- Contribution Guidelines
- six, numpy, scipy
Supported Python versions:
- 2.7, 3.4, 3.5, 3.6
How to contribute
- Daniel Suess, email@example.com, University of Cologne
- Milan Holzaepfel, firstname.lastname@example.org, Ulm University
Distributed under the terms of the BSD 3-Clause License (see LICENSE).
If you use
mpnum for yor paper, please cite:
Suess, Daniel and Milan Holzäpfel (2017). mpnum: A matrix product representation library for Python. Journal of Open Source Software, 2(20), 465, https://doi.org/10.21105/joss.00465
- BibTeX: mpnum.bib
mpnum has been used and cited in the following publications: