Quantum information and many-body library.
Project description
quimb is an easy but fast python library for ‘quantum information many-body’ calculations, focusing primarily on tensor networks. The code is hosted on github, and docs are hosted on readthedocs. Functionality is split in two:
The quimb.tensor module contains tools for working with tensors and tensor networks. It has a particular focus on automatically handling arbitrary geometry, e.g. beyond 1D and 2D lattices. With this you can:
construct and manipulate arbitrary (hyper) graphs of tensor networks
automatically contract, optimize and draw networks
use various backend array libraries such as jax and torch via autoray
run specific MPS, PEPS, MERA and quantum circuit algorithms, such as DMRG & TEBD
The core quimb module contains tools for reference ‘exact’ quantum calculations, where the states and operator are represented as either numpy.ndarray or scipy.sparse matrices. With this you can:
construct operators in complicated tensor spaces
find groundstates, excited states and do time evolutions, including with slepc
compute various quantities including entanglement measures
take advantage of numba accelerations
stochastically estimate $\mathrm{Tr}f(X)$ quantities
The full documentation can be found at: quimb.readthedocs.io. Contributions of any sort are very welcome - please see the contributing guide. Issues and pull requests are hosted on github. For other questions and suggestions, please use the discussions page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.