Quantum information and many-body library.
Project description
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 are probably the best place to look for detailed documentation.
The core quimb module:
Uses numpy and scipy.sparse matrices as quantum objects
Makes it easy to construct operators in large tensor spaces (e.g. 2D lattices)
Uses efficient methods to compute various quantities including entanglement measures
Can generate a variety of random states and operators
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 of tensors, and perform those contractions potentially on the 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
The full documentation can be found at: http://quimb.readthedocs.io/en/latest/.
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.