Changelog

Contents

Changelog#

Version 7.9 (2025-01-08)#

Features#

Version 7.8 (2025-01-02)#

Features#

  • Fix that using the measure gate on a system without drive lines didn’t work. MR SW-514

Version 7.7 (2024-12-30)#

Features#

Version 7.6 (2024-12-30)#

Features#

Version 7.5 (2024-12-12)#

Features#

  • Bump exa-experiments

Version 7.4 (2024-12-10)#

Bug fix#

  • Improve documentation structure.

Version 7.3 (2024-12-09)#

Features#

Fix extlinks to MRs and issues in sphinx docs config issue SW-916

Version 7.2 (2024-12-05)#

Features#

Version 7.1 (2024-12-04)#

Features#

  • Bump version for an updated repo organization. No functional changes. issue SW-665

Version 7.0 (2024-11-29)#

Breaking changes#

  • The function apply_move_gate_phase_corrections() no longer uses a calibration set, because the value of the detuning needed for phase tracking of MOVE sandwiches is now a part of the MOVE gate calibration data proper.

Features#

  • Add a parameter detuning to parent class of all MOVE implementations, MOVE_CustomWaveforms. This parameter only affects the frame tracking, and must be set to the difference of the qubit and resonator frequencies.

  • Add this parameter to the MoveMarker instruction.

Bug fixes#

  • Fix the behaviour of U gates: normalization of angle and phases, and pass the correct variable to the schedule in case the RY is realized with two or more phased SX pulses instead of one.

Version 6.14 (2024-11-27)#

Features#

  • Add CouplerFluxPulseQubitACStarkPulseGate Pulse, which is a base class for AC Stark pulsed CZ gates.

Version 6.13 (2024-11-20)#

Features#

  • measure and reset_wait operations now use explicit Block instructions instead of Wait s inserted by the scheduling algorithm to idle the qubits, since the former is more correct semantically, and will not be disturbed by dynamical decoupling.

Version 6.12 (2024-11-19)#

Features#

  • Bump version for an updated repo organization. No functional changes. issue SW-774

Version 6.11 (2024-11-18)#

Bug fixes#

  • Hard box scheduling no longer uses floats anywhere, and does not leak them into the finished schedule.

Version 6.10 (2024-11-15)#

Bug fixes#

  • Remove iqm-internal web links in customer docs artifacts.

Version 6.9 (2024-11-13)#

Bug fixes#

  • Fix ResetWait gate for computational resonators

Version 6.8 (2024-11-12)#

Features#

  • New quantum operation reset_wait and its implementation Reset_Wait which is used for resetting qubits by waiting a time comparable to the relaxation time.

  • All reset implementations now block the common couplers of their locus components.

  • Changes / fixes to playlist visualisation:
    • Wait duration common to all channels at the beginning and end of a segment is truncated and shown as its own block (“Wait at start/end”), making playlists long waits in the beginning / end more comfortable to view.

    • The timeline axis is no longer shown, as it was broken when instructions are truncated (this will be fixed and redisplayed in an upcoming release).

Version 6.7 (2024-11-12)#

Bug fixes#

  • Prefer system fonts in schedule viewer. MR 358

  • Fix typos in API docs. MR 358

Version 6.6 (2024-11-08)#

Features#

  • New changelog workflow, no functional changes. issue SW-774

Version 6.5 (2024-10-31)#

Bug fixes#

  • Fix scheduling neighborhoods in :meth:.MultiplexedProbeTimeBox.__add__ (affected only Pulla scheduling)

  • Fix probe lines not belonging to settings potentially crashing return parameter discovery

Version 6.4 (2024-10-30)#

  • Update iqm-exa-common to version 25.14.

Version 6.3 (2024-10-30)#

Bug fixes#

  • Measure_Constant now throws an error if the integration weights vector lengths do not match the integration_length. Previously it would propagate the wrong-length vectors to SC normally, where they would lead to nonsensical errors in MCMs & fast feedback

  • cc_prx TimeBoxes now work correctly with Pulla’s measurement multiplexing step (locus components & neighborhoods are adjusted)

  • merge_dicts util did not work correctly with empty lists as the default values (e.g. with integration weights)

Version 6.2 (2024-10-28)#

Features#

  • Add implementation MOVE_CRF_CRF for implementing a move operation using cosine rise fall waveform for coupler and qubit.

  • Add crf_crf implementation to the default operations both for cz and move.

Version 6.1 (2024-10-28)#

  • Update iqm-exa-common to version 25.13 and bump NumPy to version 1.25.2.

Version 6.0 (2024-10-25)#

Breaking changes#

  • Make fast feedback interface more consistent: feedback_label argument in measure and conditional prx renamed to feedback_key (similarly as the measurement key), and conditional_prx has now another argument feedback_qubit, which together form the feedback_label “<feedback_qubit>__<feedback_key>”

Features#

  • In the feedback labels sent to the SC, the feedback key is replaced with a default FEEDBACK_KEY, since the drive AWGs do not yet support multiple different feedback labels. Otherwise using fast feedback and/or resets would be severely limited in circuits. This will be the HW is improved (hopefully soon).

  • Users are no longer able to override default QuantumOp attributes in ymls, other than the implementations and default implementation info

Version 5.9 (2024-10-24)#

  • Update exa-common to 25.12

Version 5.8 (2024-10-21)#

Features#

  • Some cleanup of fast-feedback internals in e.g. ScheduleBuilder, including a fix for the scheduling of the edge-case of many qubits listening to a single feedback bit in parallel.

Version 5.7 (2024-10-16)#

  • Add a general quantum operation for reset and a gate implementation ConditionalReset for feedback-based reset using on a mid-circuit measure gate followed by a classically-controlled PRX gate.

Bug fixes#

  • More fixing of fast feedback in many-to-many target-source cases

Version 5.6 (2024-10-16)#

  • Add a measure gate implementation named “constant_qnd” for mid-circuit measurement operation. This enables optimizing calibration for QNDness and will improve experiments which use many measure gates.

Version 5.5 (2024-10-15)#

Features#

Rename phase_increment_before parameter into PRX(SX) gate into rz_before.

Bug fixes#

  • U gate phase transformation has a wrong sign.

Version 5.4 (2024-10-15)#

Bug fixes#

  • The virtual channels used in fast feedback scheduling no longer block the entire component, allowing more optimal schedules.

  • The conditional gate CCPRX_Composite now schedules correctly when listening to fast feedback from another component to what the conditional flip acts on-

Version 5.3 (2024-10-11)#

Features#

  • Update exa-common to version 25.11.

Version 5.2 (2024-10-11)#

Bug fixes#

  • Fixes wrong sign in phase increment calculation.

Version 5.1 (2024-10-11)#

  • Bump scipy to 1.11.4.

  • Bump iqm-data-definitions to 2.3 to include documentation of all waveforms.

Version 5.0 (2024-10-08)#

Breaking changes#

  • A new gate implementation base class SinglePulseGate added, and PRX_CustomWaveforms now inherits from this class, which means the _single_iq_pulse method is renamed to _get_pulse (this must be done in all PRX_CustomWaveforms classes). Otherwise the functionality of the method is the same.

  • GateImplementation.construct() removed, and the :meth:GateImplementation.__init__() now fulfills the same purpose construct had before (all inits must have the same signature).

Features#

  • GateImplementation.__call__() now handles TimeBox caching and the users do not have to implement it in every gate implementation separately. Instead you can now just override GateImplementation._call() if you are satisfied with caching based on the call arguments.

Version 4.0 (2024-10-02)#

Breaking changes#

  • ConditionalPRX renamed to CCPRX_Composite which now requires calibration for signal delays.

Features#

  • a GateImplementation can now return an list of timeboxes, to be used in cases where the relative timing of instructions is less strict.

  • Measure_Constant now accepts an empty array for the integration weights, signifying constant weigths. Use empty array instead of None.

  • Canonical waveforms are no longer defined via inheritable class property, but instead by a static whitelist. Now you can inherit from a canonical waveform without issues. issue EXA-2112

Version 3.5 (2024-09-25)#

Features#

  • Add a physical rz operation implemented as a AC Stark pulse.

Version 3.4 (2024-09-23)#

Features#

  • Update exa-common to version 25.9.

Version 3.3 (2024-09-19)#

Features#

  • Slepian waveform now supports squid asymmetry to be taken account of.

Version 3.2 (2024-09-11)#

Features#

  • Added GateImplementation.get_custom_locus_mapping() which allows the gate implementations to define their own locus mappings, making it possible to write the entire logic of an implementation inside its class definition, issue EXA-1831

  • GateImplementation now has a bool attribute special_implementation, which can be set as True if the implementation is a special purpose implementation that should never get called in :meth:ScheduleBuilder.get_implementation unless explicitly requested via the impl_name argument. - Special implementations cannot be set as default implementations in QuantumOp.

Version 3.1 (2024-09-11)#

Features#

  • Update exa-common.

Version 3.0 (2024-09-06)#

Features#

  • New gate implementations in PRX using \(\pi/2\) pulse: PRX_DRAGGaussianSX and PRX_DRAGCosineRiseFallSX, which inherits from PRX_CustomWaveformsSX. The default implementation names are drag_crf_sx and drag_gaussian_sx.

  • New U gate UGate using composition \(Z(\phi)Y(\theta)Z(\lambda)\), with PRX gate \(Y(\theta)\). This gate will use the same implementation as PRX gate. The default gate name is u, and implementation name prx_u

  • New sqrt(X) gate SXGate using fixed pulse \(X(\pi/2)\), from PRX gate. The default gate name is sx, and implementation name prx_sx.

Breaking changes#

  • PRX gate attribute x_pi and classmethod _x_pi_pulse() renamed to iq_pulse and _single_iq_pulse().

Version 2.13 (2024-09-04)#

Features#

  • Add register_implementation from exa-core.

  • Make CompositeGate calibration logic more consistent. issue SW-547

Version 2.12 (2024-08-27)#

Features#

Version 2.11 (2024-08-26)#

Features#

  • Add option to generate a measurement probe pulse without acquisitions.

Version 2.10 (2024-08-26)#

  • Update exa-common to 25.7.

Version 2.9 (2024-08-23)#

Features#

  • The ScheduleBuilder’s priority calibration feature is supported now also for factorizable QuantumOp`s (such as the ``measure` operation), when the locus contains more than one components.

Version 2.8 (2024-08-22)#

Features#

  • QuantumOp.get_default_implementation_for_locus() returns the locus-specific default for a permutation of a symmetric gate’s locus, making the behaviour more consistent with other functionalities of ScheduleBuilder.

Version 2.7 (2024-08-16)#

Features#

  • Add FluxPulseGate_CRF_CRF fast flux CZ implementation.

Version 2.6 (2024-08-16)#

Features#

  • Update exa-common to 25.6.

Version 2.5 (2024-08-15)#

Features#

  • Bump exa-common to 25.5

Version 2.4 (2024-08-09)#

Features#

  • Added QuantumOp.defaults_for_locus which can be used to set per-locus default implementations of a quantum operation.

  • If assigned, ScheduleBuilder.get_implementation() prioritises the locus-specific defaults over any globally defined priorities, issue EXA-1929

Version 2.3 (2024-08-05)#

Features#

Bug fixes#

Version 2.2 (2024-07-29)#

  • Automatic disabling of MOVE gate validation for sandwiches with different qubits when phase detuning correction is disabled (COMP-1468).

Version 2.1 (2024-07-23)#

Features#

  • feedback_signal_label can be set when getting a TimeBox for a measure gate.

  • Add composite GateImplementation CCPRX_Composite, usable with programmable readout. issue EXA-1925

Version 2.0 (2024-07-15)#

Features#

Breaking changes#

  • Remove placeholder implementation Measure_NOP.

Version 1.6 (2024-07-12)#

Features#

  • Bump exa-common to 25.4

Version 1.5 (2024-07-05)#

Features#

  • Bump exa-common to 25.3

Version 1.4 (2024-07-04)#

  • Small fix to validate_move_instructions function.

Version 1.3 (2024-07-04)#

Version 1.2 (2024-07-03)#

  • Trigger clean pipeline run, no functional changes.

Version 1.1 (2024-07-02)#

  • Enabled the option to turn off PRX validation for MOVE gate sandwiches (COMP-1468).

  • Enabled the option to turn off frame tracking from MOVE gates (COMP-1468).

Version 1.0 (2024-07-01)#

Features#

  • Package iqm-exa-pulse is renamed to iqm-pulse. No functional changes to iqm-exa-pulse version 21.7.