Implementation of control methods for analytical parameterized control fields.
Part of QuantumControl.jl
and the JuliaQuantumControl organization.
As usual, the package can be installed with
pkg> add ParameterizedQuantumControl
-
Define a
QuantumControl.ControlProblem
that contains parameterized generators or control fields:get_parameters(problem)
must return a vector of control parameters. -
Call
QuantumControl.optimize
usingmethod=ParameterizedQuantumControl
, and give an appropriate backend and optimizer, e.g.,optimize( problem; method=ParameterizedQuantumControl, backend=Optimization, optimizer=NLopt.LN_NELDERMEAD(), )
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), as well as specific pulse parametrizations (e.g., CRAB).
A minimal standalone documentation of ParameterizedQuantumControl.jl
is available at https://juliaquantumcontrol.github.io/ParameterizedQuantumControl.jl.
For a broader perspective, see the documentation of the QuantumControl.jl
package.