Fork me on GitHub

QuTiP

Quantum Toolbox in Python

Features


Easy To Learn

QuTiP has a straightforward syntax for constructing, manipulating, and evolving quantum objects. Moreover, creating complex quantum objects can be accomplished in just a few lines of code; constructing a Schrödinger cat state takes only four lines. QuTiP has also been designed to require a minimal learning curve for those users familiar with the Quantum Optics Toolbox (qotoolbox).



Memory Efficient

We have strived to make QuTiP as memory efficient as possible. Every quantum object is represented internally as a sparse matrix, and every operation on these objects maintains this sparsity when possible. Thus, QuTiP lets you push your simulation size beyond what is possible in other packages.



Multiple Dynamics Solvers

QuTiP includes a variety of builtin solvers for simulating a variety of both open and closed quantum systems. In addition to the standard Lindblad master equation and Monte Carlo Solvers, QuTiP includes routines for Bloch-Redfield master equations, periodic systems using the Floquet formalism, and stochastic solvers. Add to this, direct diagonalization via the eseries solver, as well as steady state analysis, and you have a wide variety of tools from which to explore your systems behavior.



Arbitrary Time Dependent Evolution

QuTiP allows for arbitrary time-dependent Hamiltonians and collapse operators in both the Lindblad master equation and Monte Carlo solvers. In fact, QuTiP can perform some sneaky ninja tricks behind the scene, and automatically compile a wide range of operators into C-code using Cython.



Multiprocessing

QuTiP can make use of the multiple processing cores found in essentially all modern computers. The QuTiP Monte-Carlo solver will run trajectories simultaneously over all, or any user defined, number of CPUs. Furthermore, repetitive tasks such as simulating master equation evolution over a given range of parameters can also be run in parallel using the built-in parfor function.



Performance

One of our continuing goals is to make QuTiP the fastest, most efficient way to calculate the dynamics of arbitrary open quantum systems. Although work is still ongoing, QuTiP is already extremely efficient, and in many cases (but not all) out performs the qotoolbox and matlab.



Testing

We do not like taking tests, but QuTiP does. QuTiP is thoroughly tested, both by its users, and by the large collection of built in test scripts comparing QuTiP's results to known test cases. QuTiP includes over 300 such tests, covering nearly all of the builtin functions. These tests are run over and over again during development to make sure that the results you get from QuTiP are in fact the correct answers. Users can even run these tests themselves to ensure a correct working environment. No other quantum simulation software is as well tested as QuTiP.



Documentation

No software should be a black box to the user, especially in science. QuTiP is not only completely open-source, but also includes over 200 pages of documentation that can be accessed online, or download in PDF form. This includes many examples, and a detailed description of every user accessible function and its parameters. We also have a large collections of examples on the Tutorials page.