Welcome to quimb’s documentation!¶
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, including symmetries and fermions via symmray
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:
User Guide¶
The following guides give a basic introduction to the various parts:
Guides
Examples¶
The following examples, generated from the notebooks in docs/examples,
demonstrate some more advanced features or complete usage:
- Examples: Tensor Network
- 1. Example - Tensor Renormalization Group (TRG)
- 2. Tensor Network Random Unitary Evolution
- 3. Periodic DMRG and Calculations
- 4. MPS Evolution with TEBD
- 5. Basic MERA Manipulations & Optimization
- 6. Optimizing a Tensor Network using Tensorflow
- 7. Exploring circuit sampling with various methods
- 8. Tensor Network Training of Quantum Circuits
- 9. Bayesian Optimizing QAOA Circuit Energy
- 10. Using
quimbwithintorch - 11. Using
quimbwithinjax,flaxandoptax - 12. Generic Tensor Fitting
- 13. Converting a Circuit to an MPO
- 14. Converting a hyper TN for approximate contraction
- 15. Tracing tensor network functions and reusing intermediates
- 16. Real time simple update (SU)
- Examples: Matrix
- Examples: Other
Citing¶
quimb is published in the Journal of Open Source Software
here - if it’s ever useful in research
please consider supporting development by citing it!
@article{gray2018quimb,
title={quimb: a python library for quantum information and many-body calculations},
author={Gray, Johnnie},
journal={Journal of Open Source Software},
year = {2018},
volume={3}, number={29}, pages={819},
doi={10.21105/joss.00819},
}
Notes¶
Development notes, including on contributing to quimb and release details
can be found below:
Development
- Changelog
- v1.14.1 (unreleased)
- v1.14.0 (2026-05-10)
- v1.13.0 (2026-03-19)
- v1.12.1 (2026-01-12)
- v1.12.0 (2026-01-09)
- v1.11.2 (2025-07-30)
- v1.11.1 (2025-06-20)
- v1.11.0 (2025-05-14)
- v1.10.0 (2024-12-18)
- v1.9.0 (2024-11-19)
- v1.8.4 (2024-07-20)
- v1.8.3 (2024-07-10)
- v1.8.2 (2024-06-12)
- v1.8.1 (2024-05-06)
- v1.8.0 (2024-04-10)
- v1.7.3 (2024-02-08)
- v1.7.2 (2024-01-30)
- v1.7.1 (2024-01-30)
- v1.7.0 (2023-12-08)
- v1.6.0 (2023-09-10)
- v1.5.1 (2023-07-28)
- v1.5.0 (2023-05-03)
- v1.4.2 (2022-11-28)
- v1.4.1 (2022-11-28)
- v1.4.0 (2022-06-14)
- v1.3.0 (2020-02-18)
- v1.2.0 (2019-06-06)
- Developer Notes