/krotov

Python implementation of Krotov's method for quantum optimal control

Primary LanguagePythonOtherNOASSERTION

Krotov Python Package

Source code on Github Documentation Krotov on the Python Package Index Docs Tests Codecov BSD License Launch Binder DOI

Python implementation of Krotov's method for quantum optimal control.

This implementation follows the original implementation in the QDYN Fortran library.

The krotov package is built on top of QuTiP.

Development happens on Github. You can read the full documentation online.

If you use the krotov package in your research, please cite it.

Purpose

Optimal control is a cornerstone of quantum technology: relying not just on a passive understanding of quantum mechanics, but on the active utilization of the quantum properties of matter. Quantum optimal control asks how to manipulate the dynamics of a quantum system in some desired way. This is essential for the realization of quantum computers and related technologies such as quantum sensing.

Krotov's method and GRAPE are the two leading gradient-based optimization algorithms used in numerical quantum optimal control. Krotov's method distinguishes itself by guaranteeing monotonic convergence for near-continuous control fields. This makes is particularly useful for exploring the limits of controllability in a physical system. While GRAPE is found in various software packages, there has not been an open source implementation of Krotov's method to date. Our package provides that missing implementation.

The Krotov package targets both students wishing to enter the field of quantum control and researchers in the field. It was designed towards the following goals:

  • Leverage the QuTiP library as a platform for numerically describing quantum systems.
  • Provide a collection of examples inspired by recent publications in the Jupyter notebook format, allowing for interactive exploration of the method.
  • Define a general interface for formulating any quantum control problem, which may extend to other optimization methods in the future.
  • Serve as a reference implementation of Krotov's method, and as a foundation against which to test other implementations.
  • Enable the more widespread use of Krotov's method, for example in the design of experiments.

Further Information

For further information, including installation and usage instructions, see the documentation at https://qucontrol.github.io/krotov.