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
Required packages:
- six, numpy, scipy
Supported Python versions:
- 2.7, 3.4, 3.5, 3.6
Alternatives:
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.
- Daniel Suess, daniel@dsuess.me, University of Cologne
- Milan Holzaepfel, mail@mholzaepfel.de, 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:
- I. Dhand et al. (2017), arXiv 1710.06103
- I. Schwartz, J. Scheuer et al. (2017), arXiv 1710.01508
- J. Scheuer et al. (2017), arXiv 1706.01315
- B. P. Lanyon, Ch. Maier et al, Nature Physics 13, 1158–1162 (2017), arXiv 1612.08000