Skip to content
@JuliaQuantumControl

JuliaQuantumControl

Julia Framework for Quantum Optimal Control

A Julia Framework for Quantum Optimal Control.

Stable Dev

The JuliaQuantumControl organization collects packages implementing a comprehensive collection of methods of open-loop quantum optimal control.

Quantum optimal control theory attempts to steer a quantum system in some desired way by finding optimal control parameters or control fields inside the system Hamiltonian or Liouvillian. Typical control tasks are the preparation of a specific quantum state or the realization of a logical gate in a quantum computer. Thus, quantum control theory is a critical part of realizing quantum technologies, at the lowest level. Numerical methods of open-loop quantum control (methods that do not involve measurement feedback from a physical quantum device) such as Krotov's method and GRAPE address the control problem by simulating the dynamics of the system and then iteratively improving the value of a functional that encodes the desired outcome.

The packages in JuliaQuantumControl that implement specific individual methods should be used via the high-level package QuantumControl.jl.

Packages

Package Version            CI Status      Coverage           Description
⭐️ QuantumPropagators.jl version Build Status Coverage Simulate the time evolution of quantum systems (docs)
⭐️ QuantumControl.jl version Build Status Coverage Framework for Quantum Dynamics and Control (docs)
QuantumGradientGenerators.jl version Build Status Coverage Dynamic Gradients for Quantum Control (docs)
Krotov.jl version Build Status Coverage Krotov's method of optimal control (docs)
GRAPE.jl version Build Status Coverage Gradient Ascent Pulse Engineering method (docs)
TwoQubitWeylChamber.jl version Build Status Coverage Optimizing two-qubit gates in the Weyl chamber (docs)
QuantumControlTestUtils.jl version Build Status Tools for testing and benchmarking (docs)

Documentation

Read the QuantumControl.jl documentation for a comprehensive description of the framework.

Support is also available in the #quantumcontrol channel in the Julia Slack.

Installation

The QuantumControl.jl package can be installed via the standard Pkg manager:

pkg> add QuantumControl

You may also want to install additional packages from the JuliaQuantumControl organization as needed:

pkg> add QuantumPropagators
pkg> add Krotov
pkg> add GRAPE

Development

Development or pre-release use of JuliaQuantumControl packages requires a dev-installation of all packages. To facilitate this, we provide a development environment for the entire organization in the JuliaQuantumControl repository . Cloning that repository provides a Makefile to develop across all packages. In order to use this Makefile, it is strongly recommended that you use Unix as a development platform (Linux, macOS, or WSL on Windows).

See the dev-environment README for details.

Pinned Loading

  1. QuantumControl.jl QuantumControl.jl Public

    Julia Framework for Quantum Dynamics and Control

    Julia 51 7

  2. QuantumPropagators.jl QuantumPropagators.jl Public

    Propagators for Quantum Dynamics and Optimal Control

    Julia 17 5

  3. JuliaQuantumControl JuliaQuantumControl Public

    Development environment for the @JuliaQuantumControl organization

    Julia 5 3

Repositories

Showing 10 of 19 repositories
  • QuantumPropagators.jl Public

    Propagators for Quantum Dynamics and Optimal Control

    JuliaQuantumControl/QuantumPropagators.jl’s past year of commit activity
    Julia 17 MIT 5 4 0 Updated Nov 13, 2024
  • PropagationBenchmarks.jl Public

    Benchmarks of QuantumPropagators.jl

    JuliaQuantumControl/PropagationBenchmarks.jl’s past year of commit activity
    Julia 0 0 0 0 Updated Nov 12, 2024
  • GRAPE.jl Public

    Gradient Ascent Pulse Engineering in Julia

    JuliaQuantumControl/GRAPE.jl’s past year of commit activity
    Julia 10 MIT 4 3 0 Updated Sep 25, 2024
  • Krotov.jl Public

    Julia implementation of Krotov's method for quantum optimal control

    JuliaQuantumControl/Krotov.jl’s past year of commit activity
    Julia 7 MIT 2 3 0 Updated Sep 25, 2024
  • QuantumControl.jl Public

    Julia Framework for Quantum Dynamics and Control

    JuliaQuantumControl/QuantumControl.jl’s past year of commit activity
    Julia 51 MIT 7 4 1 Updated Sep 25, 2024
  • ParameterizedQuantumControl.jl Public

    Implementation of control methods for analytical parameterized control fields

    JuliaQuantumControl/ParameterizedQuantumControl.jl’s past year of commit activity
    Julia 1 MIT 0 0 1 Updated Sep 21, 2024
  • TwoQubitWeylChamber.jl Public

    Julia package for analyzing two-qubit gates in the Weyl chamber

    JuliaQuantumControl/TwoQubitWeylChamber.jl’s past year of commit activity
    Julia 1 MIT 0 0 0 Updated Sep 4, 2024
  • QuantumControlTestUtils.jl Public

    Tools for testing and benchmarking within the JuliaQuantumControl organization

    JuliaQuantumControl/QuantumControlTestUtils.jl’s past year of commit activity
    Julia 2 MIT 0 0 0 Updated Sep 4, 2024
  • GRAPELinesearchAnalysis.jl Public

    Analyze and debug LBFGS linesearch behavior inside GRAPE

    JuliaQuantumControl/GRAPELinesearchAnalysis.jl’s past year of commit activity
    Julia 2 MIT 1 0 0 Updated Sep 4, 2024
  • QuantumGradientGenerators.jl Public

    Dynamic Gradients for Quantum Control

    JuliaQuantumControl/QuantumGradientGenerators.jl’s past year of commit activity
    Julia 6 MIT 0 0 0 Updated Sep 4, 2024