Metadata-Version: 2.1
Name: quimb
Version: 1.2.0
Summary: Quantum information and many-body library.
Home-page: http://quimb.readthedocs.io
Author: Johnnie Gray
Author-email: john.gray.14@ucl.ac.uk
License: Apache
Keywords: quantum physics tensor networks tensors dmrg tebd
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.5
Requires-Dist: numpy (>=1.12)
Requires-Dist: scipy (>=1.0.0)
Requires-Dist: numba (>=0.39)
Requires-Dist: psutil (>=4.3.1)
Requires-Dist: cytoolz (>=0.8.0)
Requires-Dist: tqdm (>=4)
Requires-Dist: opt-einsum (>=2)
Requires-Dist: autoray (>=0.1)
Provides-Extra: advanced_solvers
Requires-Dist: mpi4py ; extra == 'advanced_solvers'
Requires-Dist: petsc4py ; extra == 'advanced_solvers'
Requires-Dist: slepc4py ; extra == 'advanced_solvers'
Provides-Extra: docs
Requires-Dist: sphinx ; extra == 'docs'
Requires-Dist: sphinx-bootstrap-theme ; extra == 'docs'
Requires-Dist: nbsphinx ; extra == 'docs'
Requires-Dist: ipython ; extra == 'docs'
Provides-Extra: random
Requires-Dist: randomgen (>=1.14) ; extra == 'random'
Provides-Extra: tensor
Requires-Dist: matplotlib ; extra == 'tensor'
Requires-Dist: networkx ; extra == 'tensor'
Provides-Extra: tests
Requires-Dist: coverage ; extra == 'tests'
Requires-Dist: pytest ; extra == 'tests'
Requires-Dist: pytest-cov ; extra == 'tests'

.. image:: https://travis-ci.org/jcmgray/quimb.svg?branch=master
  :target: https://travis-ci.org/jcmgray/quimb
  :alt: Travis-CI
.. image:: https://codecov.io/gh/jcmgray/quimb/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/jcmgray/quimb
  :alt: Code Coverage
.. image:: https://img.shields.io/lgtm/grade/python/g/jcmgray/quimb.svg
  :target: https://lgtm.com/projects/g/jcmgray/quimb/
  :alt: Code Quality
.. image:: https://readthedocs.org/projects/quimb/badge/?version=latest
  :target: http://quimb.readthedocs.io/en/latest/?badge=latest
  :alt: Documentation Status
.. image:: http://joss.theoj.org/papers/10.21105/joss.00819/status.svg
  :target: https://doi.org/10.21105/joss.00819
  :alt: JOSS Paper
.. image:: https://badges.gitter.im/quimb-chat/community.svg
  :target: https://gitter.im/quimb-chat/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
  :alt: Gitter


----------------------------------------------------------------------------------

`quimb <https://github.com/jcmgray/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 <https://github.com/jcmgray/quimb>`_, 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 <https://numba.pydata.org>`_.
* 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 <https://bitbucket.org/slepc/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 <https://github.com/dgasmith/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`` or ``pytorch``

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 <https://github.com/jcmgray/quimb/blob/develop/.github/CONTRIBUTING.md>`_. For 'non-github-issue' questions there is a `gitter chat <https://gitter.im/quimb-chat/>`_.


