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__ Data:

Objective A single objective for optimization with Krotov’s method
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