Skip to content

Repository files navigation

Documentation
Stable Dev
Build Status
Build Status Coverage
License
MIT License
Support
Unitary Fund

Description

Piccolo.jl is a meta-package for quantum optimal control using the Pade Integrator Collocation (Piccolo) method. This package reexports the following packages

For documentation please see the individual packages.

Usage

Just run

using Piccolo

Installation

This package is registered! To install enter the Julia REPL, type ] to enter pkg mode, activate your environment activate, and then run

pkg> add Piccolo

Performance guidance

The open stack solves direct-collocation problems with dense assembled gradients — BilinearIntegrator for zero-order holds (spline constraints via DerivativeIntegrator) — with Ipopt as the default NLP solver and MadNLP as an alternative. Dense paths are fine for small-to-medium problems; on stiff or large ones keep timesteps short and verify rollouts independently.

The matrix-free / Altissimo surface — NewtonCG solves driven by JVP/VJP/HVP products that never form ∂Φ, the matrix_free flag on HermitianExponentialIntegrator, the spline/Magnus and GPU integrator family, and the opt-in exact inequality HVP — lives in the proprietary Piccolissimo stack, not in this repository (see docs.harmoniqs.co for that surface).

2.0 migration: the subsystem_levels kwarg was removed from SmoothPulseProblem; free-phase now derives levels from the goal — wrap gate targets in EmbeddedOperator(gate, sys).

"Technologies are ways of commandeering nature: the sky belongs to those who know how to fly; the sea belongs to those who know how to swim and navigate." – Simone de Beauvoir

About

A Julia package for solving quantum optimal control problems using direct trajectory optimization.

Topics

Resources

Contributing

Stars

60 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages