Skip to content
This repository was archived by the owner on Mar 4, 2026. It is now read-only.

Releases: harmoniqs/PiccoloQuantumObjects.jl

v0.10.2

21 Jan 08:14
c539569

Choose a tag to compare

PiccoloQuantumObjects v0.10.2

Diff since v0.10.1

Merged pull requests:

  • fix: enhance global parameters handling in QuantumSystem and rollouts (#69) (@jack-champagne)

v0.10.1

19 Jan 06:27
2e060b0

Choose a tag to compare

PiccoloQuantumObjects v0.10.1

Diff since v0.10.0

Merged pull requests:

v0.10.0

19 Jan 05:27
c50cfc8

Choose a tag to compare

PiccoloQuantumObjects v0.10.0

Diff since v0.9.1

Breaking changes

  • update_global_params!() now raises an error for function-based QuantumSystem instances (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 QuantumSystem to NamedTrajectory for seamless optimization workflow
  • Helper utilities: extract_globals() and update_global_params!() for managing optimized global parameters

Improvements

  • Refactored NamedTrajectory conversion logic with _add_global_data_to_kwargs helper, 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_params keyword argument documentation to all QuantumSystem constructors
  • Clarified usage patterns: closures for function-based systems, reconstruction for matrix-based systems

Merged pull requests:

v0.9.1

16 Jan 22:48
b41bcb3

Choose a tag to compare

PiccoloQuantumObjects v0.9.1

Diff since v0.9.0

Merged pull requests:

v0.9.0

16 Jan 20:26
7d0e64c

Choose a tag to compare

PiccoloQuantumObjects v0.9.0

Diff since v0.8.2

Changes

  • Updated deps for ODE rollouts from SciML
  • Updated docs for new quantum systems interface
  • LiftedOperators now pulls out operator lifting from CompositeSystem
  • 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_ms ion system template
  • Docstrings for various open quantum system constructors

Removed

  • T_max argument across all quantum system types
  • QuantumToolbox extension 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_max now lives within the Pulse object and gets combined with the system when making a QuantumTrajectory
  • Pulse, and QuantumSystem now are used to construct a qtraj which has a common interface

Merged pull requests:

v0.8.2

16 Jan 09:06
38951f6

Choose a tag to compare

PiccoloQuantumObjects v0.8.2

Diff since v0.8.1

Merged pull requests:

v0.8.1

19 Dec 07:36
fc623ed

Choose a tag to compare

PiccoloQuantumObjects v0.8.1

Diff since v0.8.0

Changes

  • Updated NamedTrajectories compat to use latest

Merged pull requests:

v0.8.0

19 Dec 07:02
c25aa9d

Choose a tag to compare

PiccoloQuantumObjects v0.8.0

Diff since v0.7.5

Changes

  • updated direct sum tests to validate Hermitian properties of resulting matrices.
  • consolidated operator lifting logic by replacing lift_ion_op and lift_mode_op with a single lift_operator function.
  • 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:

v0.7.5

03 Nov 21:42
92c70de

Choose a tag to compare

PiccoloQuantumObjects v0.7.5

Diff since v0.7.4

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:

  • quantum system refactor (#39)
  • drive_bounds inconsistent across systems (#52)

v0.7.4

29 Oct 16:11

Choose a tag to compare

PiccoloQuantumObjects v0.7.4

Diff since v0.7.3