v0.2.0
Added
-
TICK Command: Time slice boundary marker for temporal scheduling in MBQC patterns
- Added TICK command type to mark boundaries between time slices
- Integrated TICK command handling in PatternSimulator
- Integrated TICK command processing in Stim compiler
-
Edge Scheduler: Automatic entanglement operation scheduling based on node preparation times (#99)
- Added
entangle_timeattribute to Scheduler for tracking entanglement operation timing - Added
auto_schedule_entanglement()method to automatically schedule CZ gates when both nodes are prepared - Extended the
timelineproperty to include entanglement operations - Added entanglement time validation in schedule validation
- Added
compress_schedule()function to support entanglement time compression
- Added
-
Pattern: Added the
depthattribute intoPattern, which represents the depth of parallel execution. -
Pattern: Added pattern resource/throughput metrics (
active_volume,volume,idle_times,throughput). -
Scheduler Integration: Enhanced qompile() to support temporal scheduling with TICK commands
- Added
schedulerparameter to qompile() for custom scheduling - Automatically inserts TICK commands between time slices
- Added
-
Examples: Added entanglement_scheduling_demo.py demonstrating edge scheduler features
-
Feedforward Optimization: Added a
signal_shiftingmethod as a feedforward optimization.- This optimization is equivalent to the operation of the same name in the measurement calculus, and makes the measurement pattern as parallel as possible.
- The optimization is now self-contained within the feedforward module.
-
Feedforward Optimization: Added
pauli_simplification()to remove redundant Pauli corrections in correction maps when measuring in Pauli bases.
Changed
- Pattern: Updated command sequence generation to support TICK commands
- Command: Extended Command type alias to include TICK
- The default strategy of
Scheduler.solve_scheduleis nowMINIMIZE_TIMEinstead ofMINIMIZE_SPACEfor the compilation performance.
Fixed
- Scheduler: Accept
entangle_timeedges in either order inScheduler.manual_schedule().
Tests
- Stim Compiler: Add coverage that manual
entangle_timedetermines CZ time slices in both Pattern and Stim output.