QuTiP: An open-source Python framework for the dynamics of open quantum systems

J. R. Johansson, Paul Nation, Franco Nori

Research output: Contribution to journalArticle

318 Citations (Scopus)

Abstract

We present an object-oriented open-source framework for solving the dynamics of open quantum systems written in Python. Arbitrary Hamiltonians, including time-dependent systems, may be built up from operators and states defined by a quantum object class, and then passed on to a choice of master equation or Monte Carlo solvers. We give an overview of the basic structure for the framework before detailing the numerical simulation of open system dynamics. Several examples are given to illustrate the build up to a complete calculation. Finally, we measure the performance of our library against that of current implementations. The framework described here is particularly well suited to the fields of quantum optics, superconducting circuit devices, nanomechanics, and trapped ions, while also being ideal for use in classroom instruction. Program summary: Program title: QuTiP: The Quantum Toolbox in Python Catalogue identifier: AEMB-v1-0 Program summary URL: http://cpc.cs.qub. ac.uk/summaries/AEMB-v1-0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 16 482 No. of bytes in distributed program, including test data, etc.: 213 438 Distribution format: tar.gz Programming language: Python Computer: i386, x86-64 Operating system: Linux, Mac OSX, Windows RAM: 2+ Gigabytes Classification: 7 External routines: NumPy (http://numpy.scipy.org/), SciPy (http://www.scipy.org/), Matplotlib (http://matplotlib.sourceforge.net/) Nature of problem: Dynamics of open quantum systems. Solution method: Numerical solutions to Lindblad master equation or Monte Carlo wave function method. Restrictions: Problems must meet the criteria for using the master equation in Lindblad form. Running time: A few seconds up to several tens of minutes, depending on size of underlying Hilbert space.

Original languageEnglish
Pages (from-to)1760-1772
Number of pages13
JournalComputer Physics Communications
Volume183
Issue number8
DOIs
Publication statusPublished - 2012 Aug 1
Externally publishedYes

Fingerprint

Nanomechanics
Trapped ions
Quantum optics
Hamiltonians
Computer operating systems
Open systems
Tar
Hilbert spaces
Random access storage
Wave functions
Computer programming languages
Numerical methods
Networks (circuits)
licensing
Computer simulation
Ireland
programming languages
tars
quantum optics
Hilbert space

Keywords

  • Lindblad master equation
  • Open quantum systems
  • Python
  • Quantum Monte Carlo

ASJC Scopus subject areas

  • Hardware and Architecture
  • Physics and Astronomy(all)

Cite this

QuTiP : An open-source Python framework for the dynamics of open quantum systems. / Johansson, J. R.; Nation, Paul; Nori, Franco.

In: Computer Physics Communications, Vol. 183, No. 8, 01.08.2012, p. 1760-1772.

Research output: Contribution to journalArticle

@article{4e6cb16b43c3429ba52dabc4ec03f540,
title = "QuTiP: An open-source Python framework for the dynamics of open quantum systems",
abstract = "We present an object-oriented open-source framework for solving the dynamics of open quantum systems written in Python. Arbitrary Hamiltonians, including time-dependent systems, may be built up from operators and states defined by a quantum object class, and then passed on to a choice of master equation or Monte Carlo solvers. We give an overview of the basic structure for the framework before detailing the numerical simulation of open system dynamics. Several examples are given to illustrate the build up to a complete calculation. Finally, we measure the performance of our library against that of current implementations. The framework described here is particularly well suited to the fields of quantum optics, superconducting circuit devices, nanomechanics, and trapped ions, while also being ideal for use in classroom instruction. Program summary: Program title: QuTiP: The Quantum Toolbox in Python Catalogue identifier: AEMB-v1-0 Program summary URL: http://cpc.cs.qub. ac.uk/summaries/AEMB-v1-0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 16 482 No. of bytes in distributed program, including test data, etc.: 213 438 Distribution format: tar.gz Programming language: Python Computer: i386, x86-64 Operating system: Linux, Mac OSX, Windows RAM: 2+ Gigabytes Classification: 7 External routines: NumPy (http://numpy.scipy.org/), SciPy (http://www.scipy.org/), Matplotlib (http://matplotlib.sourceforge.net/) Nature of problem: Dynamics of open quantum systems. Solution method: Numerical solutions to Lindblad master equation or Monte Carlo wave function method. Restrictions: Problems must meet the criteria for using the master equation in Lindblad form. Running time: A few seconds up to several tens of minutes, depending on size of underlying Hilbert space.",
keywords = "Lindblad master equation, Open quantum systems, Python, Quantum Monte Carlo",
author = "Johansson, {J. R.} and Paul Nation and Franco Nori",
year = "2012",
month = "8",
day = "1",
doi = "10.1016/j.cpc.2012.02.021",
language = "English",
volume = "183",
pages = "1760--1772",
journal = "Computer Physics Communications",
issn = "0010-4655",
publisher = "Elsevier",
number = "8",

}

TY - JOUR

T1 - QuTiP

T2 - An open-source Python framework for the dynamics of open quantum systems

AU - Johansson, J. R.

AU - Nation, Paul

AU - Nori, Franco

PY - 2012/8/1

Y1 - 2012/8/1

N2 - We present an object-oriented open-source framework for solving the dynamics of open quantum systems written in Python. Arbitrary Hamiltonians, including time-dependent systems, may be built up from operators and states defined by a quantum object class, and then passed on to a choice of master equation or Monte Carlo solvers. We give an overview of the basic structure for the framework before detailing the numerical simulation of open system dynamics. Several examples are given to illustrate the build up to a complete calculation. Finally, we measure the performance of our library against that of current implementations. The framework described here is particularly well suited to the fields of quantum optics, superconducting circuit devices, nanomechanics, and trapped ions, while also being ideal for use in classroom instruction. Program summary: Program title: QuTiP: The Quantum Toolbox in Python Catalogue identifier: AEMB-v1-0 Program summary URL: http://cpc.cs.qub. ac.uk/summaries/AEMB-v1-0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 16 482 No. of bytes in distributed program, including test data, etc.: 213 438 Distribution format: tar.gz Programming language: Python Computer: i386, x86-64 Operating system: Linux, Mac OSX, Windows RAM: 2+ Gigabytes Classification: 7 External routines: NumPy (http://numpy.scipy.org/), SciPy (http://www.scipy.org/), Matplotlib (http://matplotlib.sourceforge.net/) Nature of problem: Dynamics of open quantum systems. Solution method: Numerical solutions to Lindblad master equation or Monte Carlo wave function method. Restrictions: Problems must meet the criteria for using the master equation in Lindblad form. Running time: A few seconds up to several tens of minutes, depending on size of underlying Hilbert space.

AB - We present an object-oriented open-source framework for solving the dynamics of open quantum systems written in Python. Arbitrary Hamiltonians, including time-dependent systems, may be built up from operators and states defined by a quantum object class, and then passed on to a choice of master equation or Monte Carlo solvers. We give an overview of the basic structure for the framework before detailing the numerical simulation of open system dynamics. Several examples are given to illustrate the build up to a complete calculation. Finally, we measure the performance of our library against that of current implementations. The framework described here is particularly well suited to the fields of quantum optics, superconducting circuit devices, nanomechanics, and trapped ions, while also being ideal for use in classroom instruction. Program summary: Program title: QuTiP: The Quantum Toolbox in Python Catalogue identifier: AEMB-v1-0 Program summary URL: http://cpc.cs.qub. ac.uk/summaries/AEMB-v1-0.html Program obtainable from: CPC Program Library, Queens University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 16 482 No. of bytes in distributed program, including test data, etc.: 213 438 Distribution format: tar.gz Programming language: Python Computer: i386, x86-64 Operating system: Linux, Mac OSX, Windows RAM: 2+ Gigabytes Classification: 7 External routines: NumPy (http://numpy.scipy.org/), SciPy (http://www.scipy.org/), Matplotlib (http://matplotlib.sourceforge.net/) Nature of problem: Dynamics of open quantum systems. Solution method: Numerical solutions to Lindblad master equation or Monte Carlo wave function method. Restrictions: Problems must meet the criteria for using the master equation in Lindblad form. Running time: A few seconds up to several tens of minutes, depending on size of underlying Hilbert space.

KW - Lindblad master equation

KW - Open quantum systems

KW - Python

KW - Quantum Monte Carlo

UR - http://www.scopus.com/inward/record.url?scp=84860294641&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84860294641&partnerID=8YFLogxK

U2 - 10.1016/j.cpc.2012.02.021

DO - 10.1016/j.cpc.2012.02.021

M3 - Article

AN - SCOPUS:84860294641

VL - 183

SP - 1760

EP - 1772

JO - Computer Physics Communications

JF - Computer Physics Communications

SN - 0010-4655

IS - 8

ER -