Skip to main content

Python implementation of Krotov's method for quantum optimal control

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

krotov-1.3.0.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

krotov-1.3.0-py3-none-any.whl (73.9 kB view details)

Uploaded Python 3

File details

Details for the file krotov-1.3.0.tar.gz.

File metadata

  • Download URL: krotov-1.3.0.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.8.16

File hashes

Hashes for krotov-1.3.0.tar.gz
Algorithm Hash digest
SHA256 7053caec3884a21c606abcf50a78d6c3483cebdb4f0c3f5c44f1f2e8c4529846
MD5 8bde2bb24a502e4311c470c0d1dbc497
BLAKE2b-256 5031526a4c99735211f51eaa90e6fdba01193ccc2d2475ae0aefbb9cd439a999

See more details on using hashes here.

File details

Details for the file krotov-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: krotov-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 73.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.8.16

File hashes

Hashes for krotov-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 376cf0010be67bf70850fa191c6bae9f4f207f0e11aa0792d29c78aad1faec08
MD5 95e0554b9d4b658ab5ea4e8a311c8343
BLAKE2b-256 83bcbc161d39e33cda5bd9fb7843e271c191f104876bc4521343d7cef6c226f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page