Skip to content

Latest commit

 

History

History
48 lines (30 loc) · 2.29 KB

README.md

File metadata and controls

48 lines (30 loc) · 2.29 KB

ParameterizedQuantumControl.jl

Version Stable Dev Build Status Coverage

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(),
    )
    

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).

Documentation

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.