This repository was archived by the owner on Mar 4, 2026. It is now read-only.
Releases: harmoniqs/PiccoloQuantumObjects.jl
Releases · harmoniqs/PiccoloQuantumObjects.jl
v0.10.2
PiccoloQuantumObjects v0.10.2
Merged pull requests:
- fix: enhance global parameters handling in QuantumSystem and rollouts (#69) (@jack-champagne)
v0.10.1
v0.10.0
PiccoloQuantumObjects v0.10.0
Breaking changes
update_global_params!()now raises an error for function-basedQuantumSysteminstances (previously would fail silently or with unclear errors)
New Features
- Global parameters support for
QuantumSystem- store and optimize system-level parameters (e.g., detunings, couplings) alongside control pulses - Auto-population of global parameters from
QuantumSystemtoNamedTrajectoryfor seamless optimization workflow - Helper utilities:
extract_globals()andupdate_global_params!()for managing optimized global parameters
Improvements
- Refactored
NamedTrajectoryconversion logic with_add_global_data_to_kwargshelper, reducing code duplication - Enhanced validation for edge cases (trajectories without global components)
- Support for multi-dimensional global parameters
- Comprehensive test coverage for global parameter workflows
Documentation
- Added
global_paramskeyword argument documentation to allQuantumSystemconstructors - Clarified usage patterns: closures for function-based systems, reconstruction for matrix-based systems
Merged pull requests:
- Feat/global params refactor (#66) (@aarontrowbridge)
v0.9.1
PiccoloQuantumObjects v0.9.1
Merged pull requests:
- losen compat reqs for linear diff eq (#65) (@jack-champagne)
v0.9.0
PiccoloQuantumObjects v0.9.0
Changes
- Updated deps for ODE rollouts from SciML
- Updated docs for new quantum systems interface
LiftedOperatorsnow pulls out operator lifting fromCompositeSystem- Updated system templates and organized via physical platforms
- Rollouts significantly reworked to support new object types (Pulses, QTraj), conversions, ODE solves, interpolations.
Added
- CONTEXT.md file for LLM friendly repository context and usage patterns
- Pulse objects. BIG AWESOME THING for supporting interpolated and analytical pulse types and sampling
- Lifted Operators objects seperated from
CompositeSystem - New seperate
radial_msion system template - Docstrings for various open quantum system constructors
Removed
T_maxargument across all quantum system typesQuantumToolboxextension temporarily as SciML updates StochasticDiffEq to be compatible with OrdinaryDiffEqCore v3 (or OrdinaryDiffEqLinear gets a compat entry for OrdinaryDiffEqCore v2)- Old quantum trajectories framework, refactored into modules for the different trajectory types, supporting the Pulse object, and cleanup documentation testing.
Breaking changes
T_maxnow lives within thePulseobject and gets combined with the system when making aQuantumTrajectoryPulse, andQuantumSystemnow are used to construct aqtrajwhich has a common interface
Merged pull requests:
- Feature/ode rollouts (#61) (@andgoldschmidt)
v0.8.2
PiccoloQuantumObjects v0.8.2
Merged pull requests:
- chore: bump named trajectories to v0.8 (#63) (@jack-champagne)
v0.8.1
PiccoloQuantumObjects v0.8.1
Changes
- Updated NamedTrajectories compat to use latest
Merged pull requests:
- chore - bump NamedTrajectories.jl to v0.7 (#62) (@jack-champagne)
v0.8.0
PiccoloQuantumObjects v0.8.0
Changes
- updated direct sum tests to validate Hermitian properties of resulting matrices.
- consolidated operator lifting logic by replacing
lift_ion_opandlift_mode_opwith a singlelift_operatorfunction. - update control name default to support vector type for detuning in IonChainMSSystem
Added
- QuantumTrajectories module and reexport in PiccoloQuantumObjects
- quantum system templates and optimization constraints (to removed from QuantumCollocation.jl)
- time_dependent field to OpenQuantumSystem and QuantumSystem structs
- QuantumSystemTemplates module with templates for Transmon, MultiTransmon, Rydberg, and Cat systems.
- coherent_ket and get_cat_controls functions for Cat systems.
- leakage and fidelity constraints in QuantumConstraints module for trajectory optimization.
- integrators for various quantum systems in QuantumIntegrators module.
- objective functions in QuantumObjectives module to include infidelity and leakage objectives.
- IonChainSystem and MolmerSorensenCoupling for trapped ion simulations
- Add EnsembleTrajectory and SamplingTrajectory types for ensemble optimization
- get_initial_controls function for uniform control initialization in quantum systems
Removed
- obsolete quantum optimization modules and update trajectory accessors
Breaking changes
- Removal and refactoring of obselete quantum optimization modules and trajectory accessors
- Removal of former concrete type with new abstract type, sub-typed with ket-trajectory, unitary-trajectory, and density-trajectory
Merged pull requests:
- isomorphisms for bloch plotting (#34) (@s-a-s-h)
- Bump actions/checkout from 5 to 6 (#58) (@dependabot[bot])
- quantum system refactor, quantum trajectories, new templates (#59) (@jack-champagne)
- Bump actions/upload-artifact from 5 to 6 (#60) (@dependabot[bot])
v0.7.5
PiccoloQuantumObjects v0.7.5
Internal changes
- New internal DriveBounds type to consolidate handling of drive_bounds
Merged pull requests:
- remove generated file for testing from repository root (#51) (@jack-champagne)
- Standardize drive_bounds type handling across quantum systems (#53) (@Copilot)
- Bump actions/checkout from 4 to 5 (#54) (@dependabot[bot])
- Patch version PiccoloQuantumObjects.jl to v0.7.5 (#55) (@jack-champagne)
Closed issues: