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 5. You can find the tutorials for QuTiP Version 4 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.

- Quantum gates and circuits
- Toffoli gate to CNOT
- Importing and exporting QASM circuits
- Quantum teleportation

- Simulating the Deutsch–Jozsa algorithm with noise
- Customizing the pulse-level simulation
- The pulse scheduler
- Measuring the relaxation time
- Simulating a 10-qubit QFT algorithm
- Simulating randomized benchmarking
- Optimal pulse processor

`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

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

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.