Quantum information and many-body library.
quimb is an easy but fast python library for quantum information and many-body calculations, including with tensor networks. The code is hosted on github, do please submit any issues or pull requests there. It is also thoroughly unit-tested and the tests might be the best place to look for detailed documentation.
The core quimb module:
- Uses straight numpy and scipy.sparse matrices as quantum objects
- Accelerates and parallelizes many operations using numba.
- Makes it easy to construct operators in large tensor spaces (e.g. 2D lattices)
- Uses efficient methods to compute various quantities including entanglement measures
- Has many built-in states and operators, including those based on fast, parallel random number generation
- Can perform evolutions with several methods, computing quantities on the fly
- Has an optional slepc4py interface for easy distributed (MPI) linear algebra. This can massively increase the performance when seeking, for example, mid-spectrum eigenstates
The tensor network submodule quimb.tensor:
- Uses a geometry free representation of tensor networks
- Uses opt_einsum to find efficient contraction orders for hundreds or thousands of tensors
- Can perform those contractions on various backends, including with a GPU
- Can plot any network, color-coded, with bond size represented
- Can treat any network as a scipy LinearOperator, allowing many decompositions
- Can perform DMRG1, DMRG2 and DMRGX, in matrix product state language
- Has tools to efficiently address periodic problems (transfer matrix compression and pseudo-orthogonalization)
- Can perform MPS time evolutions with TEBD
- Can optimize arbitrary tensor networks with tensorflow, pytorch, jax or autograd
The full documentation can be found at: http://quimb.readthedocs.io/en/latest/. Contributions of any sort are very welcome - please see the contributing guide. For ‘non-github-issue’ questions there is a gitter chat.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size quimb-1.3.0-py3-none-any.whl (216.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size quimb-1.3.0.tar.gz (214.2 kB)||File type Source||Python version None||Upload date||Hashes View|