Quantum Optimal Control with Direct Collocation
Author aarontrowbridge
9 Stars
Updated Last
5 Months Ago
Started In
February 2023


Stable Dev Build Status Coverage

QuantumCollocation.jl uses NamedTrajectories.jl to set up and solve direct collocation problems specific to quantum optimal control, i.e. problems of the form:

$$\begin{aligned} \underset{U_{1:T}, a_{1:T-1}}{\text{minimize}} & \quad \ell(U_T, U_{\text{goal}})\\\ \text{ subject to } & \quad U_{t+1} = \exp(-i H(a_t)) U_t \end{aligned}$$

QuantumCollocation.jl gives the user the ability to add other constraints and objective functions to this problem and solve it efficiently using Ipopt.jl and MathOptInterface.jl under the hood.


This package is under active development and issues may arise -- please be patient and report any issues you find!


QuantumCollocation.jl is registered! To install:

using Pkg

Implementation Details

For a details of the implementation, in the current absence of a documenation page, please see the (rough) notes document pico.pdf.


Single Qubit X-Gate

See the example script examples/scripts/single_qubit_gate.jl, which produces the following plot:

Single Qubit X-Gate

Repo Structure

Uses GitHub Next's repo-visualization tool to see repo structure.

Repo Structure