Skip to content
Snippets Groups Projects

Qblox Compensation Matrix

Merged David Vos requested to merge qblox_compensation_matrix into main
All threads resolved!

Explanation of changes

Adds crosstalk and crosstalk_compensation_enable fields to the hardware configuration. If crosstalk compensation is enabled, an extra compilation step is added, which introduces compensation pulses and also modifies the amplitude of the original pulse.

Motivation of changes

When driving qubits, crosstalk between channels presents a problem, causing unwanted interactions between qubits and control signals. Fortunately, if the coupling strength is known, crosstalk can be mitigated by multiplying the pulse with the compensation matrix, which is the inverse of the crosstalk matrix.

As a small example, consider the following crosstalk matrix for 2 qubits with a coupling strength (C) = 0.5 both ways:

C=(10.50.51)C = \begin{pmatrix} 1 & 0.5 \\ 0.5 & 1 \end{pmatrix}

We then have the accompanying compensation matrix:

C1=(43232343)C^{-1} = \begin{pmatrix} \frac{4}{3} & -\frac{2}{3} \\ -\frac{2}{3} & \frac{4}{3} \end{pmatrix}

If we then have a control signal with amplitude 0.8 on qubit 1, while nothing is driving qubit 2, we get the final result:

(43232343)(0.80)=(1615815)\begin{pmatrix} \frac{4}{3} & -\frac{2}{3} \\ -\frac{2}{3} & \frac{4}{3} \end{pmatrix} \begin{pmatrix} 0.8 \\ 0 \end{pmatrix} = \begin{pmatrix} \frac{16}{15} \\ -\frac{8}{15} \end{pmatrix}

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 for breaking changes and AUTHORS.md have been updated (or N/A).
  • Update Hardware backends documentation if backend interface change or N/A
  • Check whether performance is significantly affected by looking at the Performance metrics results.
  • 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.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • David Vos resolved all threads

    resolved all threads

  • David Vos added 1 commit

    added 1 commit

    • 86e0cf5f - Apply 3 suggestion(s) to 2 file(s)

    Compare with previous version

  • David Vos added 1 commit

    added 1 commit

    • b8e5c456 - remove crosstalk_compensation_enable

    Compare with previous version

  • Gábor Oszkár Dénes resolved all threads

    resolved all threads

  • David Vos added 16 commits

    added 16 commits

    Compare with previous version

  • David Vos added 1 commit

    added 1 commit

    • fa6b3c7f - Revert "Merge branch 'qblox_compensation_matrix' of...

    Compare with previous version

  • David Vos added 18 commits

    added 18 commits

    Compare with previous version

  • David Vos approved this merge request

    approved this merge request

  • Robert Sokolewicz approved this merge request

    approved this merge request

  • David Vos added 1 commit

    added 1 commit

    Compare with previous version

  • Robert Sokolewicz enabled automatic add to merge train when checks pass

    enabled automatic add to merge train when checks pass

  • David Vos aborted automatic add to merge train because the source branch was updated. Learn more.

    aborted automatic add to merge train because the source branch was updated. Learn more.

  • David Vos added 1 commit

    added 1 commit

    Compare with previous version

  • Please register or sign in to reply
    Loading