hczhai / quimb

A python library for quantum information and many-body calculations including tensor networks.

Home Page:http://quimb.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Azure Code Coverage Code Quality Documentation Status JOSS Paper

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. Issues and pull requests are hosted on github. For other questions and suggestions, please use the dicusssions page.

About

A python library for quantum information and many-body calculations including tensor networks.

http://quimb.readthedocs.io

License:Other


Languages

Language:Python 57.8%Language:Jupyter Notebook 42.0%Language:TeX 0.1%Language:Shell 0.1%