Fork me on GitHub
**QuTiP**

## Quantum Toolbox in Python

This page contains our collection of Jupyter (formerly IPython) notebooks for introducing and demonstrating features of QuTiP. Going through these notebooks should be a good way to get familiarized with the software. If you are new to scientific computing with Python, you might also find it useful to have a look at these IPython notebook Lectures on scientific computing with Python.

This are the tutorials for QuTiP Version 4. You can find the tutorials for QuTiP Version 5 here.

A guide for transitioning from version 4 to version 5 can be found here.

The following are the contents of this page:

These notebooks demonstrate and introduce specific functionality in QuTiP.

- Introduction to Python
- Introduction to NumPy Arrays
- Plotting in Python Using Matplotlib
- Lecture 0 - Introduction to QuTiP

For a more in depth discussion see: Lectures on scientific computing with Python.

- Bloch Sphere animation
- Bloch Sphere with colorbar
- Energy-level diagrams
- Pseudo-probability functions
- Quantum Process Tomography
- Qubism visualizations
- Visualization demos
- Wigner functions

This section requires an additional package qutip-qip.

- Decomposition of the Toffoli gate in terms of CNOT and single-qubit rotations
- Imports and Exports QASM circuit
- QuTiP example: Quantum Gates and their usage
- Quantum Teleportation Circuit

- Compiling and simulating a 10-qubit Quantum Fourier Transform (QFT) algorithm
- Custimize the pulse-level simulation
- Examples for OptPulseProcessor
- Scheduler for quantum gates and instructions
- Simulating randomized benchmarking
- Simulating the Deutsch–Jozsa algorithm at the pulse level
- measuring the relaxation time with the idling gate

`QobjEvo`

: time-dependent quantum objects- Schrödinger Equation Solver: Larmor precession
- Master Equation Solver: Single-Qubit Dynamics
- Master Equation Solver: Vacuum Rabi oscillations
- Master Equation Solver: Dynamics of a Spin Chain
- Monte Carlo Solver: Birth and Death of Photons in a Cavity
- Bloch-Redfield Solver: Two Level System
- Bloch-Redfield Solver: Time dependent operators
- Bloch-Redfield Solver: Dissipative Atom-Cavity system
- Bloch-Redfield Solver: Phonon-assisted initialization
- Floquet Solvers
- Floquet Formalism
- Time-dependent Master Equation: Landau-Zener transitions
- Time-dependent Master Equation: Landau-Zener-Stuckelberg inteferometry
- Stochastic Solver: Heterodyne Detection
- Stochastic Solver: Mixing stochastic and deterministic equations
- Stochastic Solver: Photo-current detection in a JC model
- Stochastic vs. Monte-Carlo Solver: Cat states become coherent
- Steady-State: Optomechanical System in the Single-Photon Strong-Coupling Regime
- Steady-State: Homodyned Jaynes-Cummings emission
- Steady-State: Time-dependent (periodic) quantum system

- Overview
- Hadamard
- QFT
- Lindbladian
- Symplectic
- QFT (CRAB)
- State to state (CRAB)
- CNOT
- iSWAP
- Single-qubit rotation
- Toffoli gate

- Overview
- Superradiant light emission
- Steady state superradiance
- Open Dicke model
- Spin squeezing with noise
- Boundary time crystals
- Multiple spin ensembles
- Von Neumann entropy and purity

- HEOM 1a: Spin-Bath model (introduction)
- HEOM 1b: Spin-Bath model (very strong coupling)
- HEOM 1c: Spin-Bath model (Underdamped Case)
- HEOM 1d: Spin-Bath model, fitting of spectrum and correlation functions
- HEOM 1e: Spin-Bath model (pure dephasing)
- HEOM 2: Dynamics in Fenna-Mathews-Olsen complex (FMO)
- HEOM 3: Quantum Heat Transport
- HEOM 4: Dynamical decoupling of a non-Markovian environment
- HEOM 5a: Fermionic single impurity model
- HEOM 5b: Discrete boson coupled to an impurity and fermionic leads
- Hierarchical Equation of Motion Examples

These lecture-style notebooks focus on particular quantum mechanics topics and analyze them numerically using QuTiP (some more detailed than others).

- Lecture 0 - Introduction to QuTiP
- Lecture 1 - Vacuum Rabi oscillations in the Jaynes-Cummings model
- Lecture 2A - Simulation of a two-qubit gate using a resonator as coupler
- Lecture 2B - Single-Atom-Lasing
- Lecture 3A - The Dicke model
- Lecture 3B - Jaynes-Cummings-like model in the ultrastrong coupling regime
- Lecture 4 - Correlation functions
- Lecture 5 - Evolution and quantum statistics of a quantum parameter amplifier
- Lecture 6 - Quantum Monte-Carlo Trajectories
- Lecture 7 - Two-qubit iSWAP gate and process tomography
- Lecture 8 - Adiabatic sweep
- Lecture 9 - Squeezed states of a quantum harmonic oscillator
- Lecture 10 - Cavity-QED in the dispersive regime
- Lecture 11 - Superconducting Josephson charge qubits
- Lecture 12 - Decay into a squeezed vacuum field
- Lecture 13 - Resonance flourescence
- Lecture 14 - Kerr nonlinearities
- Lecture 15 - Nonclassically driven atoms (cascaded quantum systems)
- Lecture 16 - Gallery of Wigner functions

If you would like to contribute a notebook or report a bug, you may open an issue or pull request in the qutip-tutorials GitHub repository.

A few of the notebooks are still maintained in the repository qutip-notebooks and a complete archive of older versions of the tutorials is maintained there.