krotov package

The main function exposed here is optimize_pulses().

This acts on a list of Objective instances, which may either be constructed manually, or through the helper functions gate_objectives() and ensemble_objectives().

The submodules contain various auxiliary functions for constructing arguments for optimize_pulses(), for common use cases. This includes functions for constructing control fields (guess pulses), optimization functionals, convergence checks, analysis tools, and propagators, as well as more technical routines for parallelization, low-level data conversion, and estimators for second-order updates.

Submodules:

Summary

__all__ Classes:

Objective

A single objective for optimization with Krotov’s method.

Result

Result of a Krotov optimization with optimize_pulses().

__all__ Functions:

ensemble_objectives

Extend objectives for an “ensemble optimization”

gate_objectives

Construct a list of objectives for optimizing towards a quantum gate

optimize_pulses

Use Krotov’s method to optimize towards the given objectives.