ParameterizedQuantumControl.jl

Github v0.1.2

Implementation of control methods for analytical parameterized control fields.

Part of QuantumControl.jl and the JuliaQuantumControl organization.

Installation

As usual, the package can be installed with

pkg> add ParameterizedQuantumControl

Usage

  • Define a QuantumControl.ControlProblem that contains parameterized generators or control fields: get_parameters(problem) must return a vector of control parameters.

  • Call QuantumControl.optimize using method=ParameterizedQuantumControl, and give an appropriate backend and optimizer, e.g.,

    optimize(
        problem;
        method=ParameterizedQuantumControl,
        backend=Optimization,
        optimizer=NLopt.LN_NELDERMEAD(),
    )

See ParameterizedQuantumControl.optimize_parameters for details.

Currently, only Optimization.jl is supported as a backend, and only with gradient-free optimizers. In the future, this will be extended to gradient-based optimizers (i.e., the "GOAT" method [1]), as well as specific pulse parametrizations (e.g., CRAB [2]).

Contents

History

See the Releases on Github.