Skip to content

Draft: crosstalk compensation matrix

David Vos requested to merge QAE_1282_crosstalk_compensation_matrix into main

Explanation of changes

Crosstalk compensation for qubits involves mitigating unwanted interactions between qubits in a quantum system. This is achieved by using a crosstalk matrix, which quantifies the unintended interactions between qubits. A compensation matrix dthe inverse of the crosstalk matrix) is then applied to adjust control pulses and correct these interactions.

In order to properly do this in quantify a crosstalk_compensation node changes amplitudes of original pulses and adds compensation pulses to port clocks there is crosstalk with.

Then in the stack_square_pulses compilation node pulses are stacked by an insanely creative/genius algorithm that uses a sorted list of start and end times and two stacks (next_pulses and current_pulses) to properly cut, construct and edit pulses where needed.

More info: https://qblox.atlassian.net/wiki/spaces/~6321d224d1b3f6489b9355bb/pages/622460955/Crosstalk+compensation+matrix

Motivation of changes

Motivate why the particular solution was chosen.


Merge checklist

See also merge request guidelines

  • Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer.
  • New code is covered by unit tests (or N/A).
  • New code is documented and docstrings use numpydoc format (or N/A).
  • New functionality: considered making private instead of extending public API (or N/A).
  • Public API changed: added @deprecated and entry in deprecated code suggestions (or N/A).
  • Newly added/adjusted documentation and docstrings render properly (or N/A).
  • Pipeline fix or dependency update: post in #software-for-developers channel to merge main back in or update local packages (or N/A).
  • Tested on hardware (or N/A).
  • CHANGELOG.md and AUTHORS.md have been updated (or N/A).
  • Update Hardware backends documentation if backend interface change or N/A
  • Performance tests: if changes can affect performance, trigger CI manually and evaluate results (or N/A).
  • Windows tests in CI pipeline pass (manually triggered by maintainers before merging).
    • Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline

For reference, the issues workflow is described in the contribution guidelines.

Summary by CodeRabbit

  • New Features

    • Introduced crosstalk compensation for square pulses.
    • Updated NV center backend to support Rxy gates.
    • Enabled Quantum Task Metadata (QTM) through Instrument Coordinator.
  • Optimizations

    • Improved insertion of LatchReset for better performance.
    • Optimized processing and stacking of overlapping square pulses.
  • Bug Fixes

    • Addressed potential misalignment issues in NCO grid time.
    • Resolved inconsistencies in TriggerCount behavior.
  • Documentation

    • Added documentation URL to hardware config deprecation messages.
  • Tests

    • Added new test cases for crosstalk compensation and pulse stacking.
    • Removed obsolete tests related to overlapping pulses and voltage offsets.
Edited by CodeRabbit

Merge request reports