Skip to content

Implementation of control methods for analytical parameterized control fields

License

Notifications You must be signed in to change notification settings

JuliaQuantumControl/ParameterizedQuantumControl.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Implementation of control methods for analytical parameterized control fields

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published