qutip
QuTiP: The Quantum Toolbox in Python
What it is and what it does
QuTiP is a Python library for simulating quantum mechanical systems, both closed (isolated) and open (interacting with an environment). It provides numerical solvers for time-evolution problems, supporting Hamiltonians and collapse operators that can vary arbitrarily with time. The library is built on NumPy and SciPy for computational efficiency and includes support for a wide range of quantum mechanical problems commonly encountered in physics research and education.
The package is designed for researchers and students exploring quantum dynamics, offering user-friendly APIs alongside efficient numerical backends. It runs on Unix-based platforms and Windows, and is maintained by an active community affiliated with Unitary Fund and numFOCUS. Installation is straightforward via pip or conda, with pre-built wheels available for modern Python versions on multiple architectures.
Use it for:
- Simulate time-evolution of quantum states under time-dependent Hamiltonians in open quantum systems.
- Model quantum optical systems with cavity decay, spontaneous emission, and other dissipative processes.
- Solve master equations and Lindblad equations for open quantum dynamics in research.
- Explore quantum mechanics concepts interactively in educational settings with demonstration notebooks.
- Analyze quantum information protocols and quantum computing gate operations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
QuTiP simulates the dynamics of closed and open quantum systems using numerical backends (NumPy, SciPy) and supports Hamiltonians and collapse operators with arbitrary time-dependence.
Yes. QuTiP is a mature, actively maintained library (release 10 days old) with permissive licensing, no known vulnerabilities, and broad platform support. It is the standard tool for quantum dynamics simulation in Python and is well-suited for both research and education. Medium install friction is typical for scientific packages with compiled extensions and is not a barrier.
Install
qutip on PyPI
pip
pip install qutipuv
uv add qutippoetry
poetry add qutipInstalling qutip
Before you install
Medium install friction due to compiled extensions across multiple platforms (wheels provided for Python 3.11–3.14 on macOS, Linux, Windows, and ARM architectures). Active maintenance with a release 10 days old; requires Python ≥3.11.
License in practice
BSD-3-Clause (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for research and classroom use.
Quickstart
pip install qutip
import qutip as qt
# Create a simple quantum state and evolve it
H = qt.sigmaz() # Hamiltonian
psi0 = qt.basis(2, 0) # Initial state
times = [0.0, 1.0]
result = qt.mesolve(H, psi0, times, [], []) # Master equation solver
Requires Python ≥3.11; compiled extensions may require a C compiler if building from source rather than using pre-built wheels.
Verify before relying
- Whether the package includes optional dependencies (mentioned as 'qutip[full]' in docs) and what they provide.
- Performance characteristics for large-scale quantum systems or specific problem classes.
- Whether Matplotlib is required for all use cases or only for graphical output.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 3 — numpy, scipy, packaging |
| Maintenance | actively maintained — 10 days since the last release |
| First released | |
| Downloads | 266,017/month — #8,311 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: qutip-5.3.1-cp311-cp311-macosx_10_9_x86_64.whl; qutip-5.3.1-cp311-cp311-macosx_11_0_arm64.whl; qutip-5.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; qutip-5.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; qutip-5.3.1-cp311-cp311-win_amd64.whl; qutip-5.3.1-cp311-cp311-win_arm64.whl; qutip-5.3.1-cp312-cp312-macosx_10_13_x86_64.whl; qutip-5.3.1-cp312-cp312-macosx_11_0_arm64.whl; qutip-5.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; qutip-5.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; qutip-5.3.1-cp312-cp312-win_amd64.whl; qutip-5.3.1-cp312-cp312-win_arm64.whl; qutip-5.3.1-cp313-cp313-macosx_10_13_x86_64.whl; qutip-5.3.1-cp313-cp313-macosx_11_0_arm64.whl; qutip-5.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; qutip-5.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; qutip-5.3.1-cp313-cp313-win_amd64.whl; qutip-5.3.1-cp313-cp313-win_arm64.whl; qutip-5.3.1-cp314-cp314-macosx_10_15_x86_64.whl; qutip-5.3.1-cp314-cp314-macosx_11_0_arm64.whl
Keywords: quantum, physics, dynamics
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
openfermionOpenFermion compiles and analyzes quantum…
permissive · top 15,000 on PyPI
cudensitymat-cu13cuDensityMat provides GPU-accelerated density…
unclear · top 15,000 on PyPI
qiskitQiskit is an open-source SDK for building and…
permissive · top 5,000 on PyPI
quimbQuimb provides Python tools for quantum…
permissive · top 15,000 on PyPI
attoworldAttoworld provides data handling, numerical…
unclear · top 15,000 on PyPI
qiskit-terraQiskit Terra provides the core SDK for building…
permissive · top 15,000 on PyPI
mqt.qcecVerifies whether two quantum circuits are…
permissive · top 15,000 on PyPI
qualang-toolsProvides a comprehensive toolkit for writing…
permissive · top 15,000 on PyPI
cirqCirq is a Python framework for writing,…
permissive · top 15,000 on PyPI
tidy3dTidy3D is a Python API for defining,…
copyleft · top 15,000 on PyPI