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.
Just run
using PiccoloThis package is registered! To install enter the Julia REPL, type ] to enter pkg mode, activate your environment activate, and then run
pkg> add PiccoloThe 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