question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RZXCalibrationBuilder aligns pulses incorrectly

See original GitHub issue

Environment

  • Qiskit Terra version: 0.22.0
  • Python version: 3.9.13
  • Operating system: Darwin

What is happening?

When using the RZXCalibrationBuilder on the dev branch of qiskit-terra, the resulting pulses are scheduled incorrectly. In particular, pulses cannot simultaneously be played on both the control qubit’s DriveChannel and ControlChannel simultaneous, resulting in a 9999 error on the (actual) backend.

How can we reproduce the issue?

from qiskit import schedule
from qiskit.circuit import QuantumCircuit
from qiskit.transpiler import PassManager
from qiskit.transpiler.passes import RZXCalibrationBuilder
from qiskit.providers.fake_provider import FakeMumbai

qc = QuantumCircuit(2)
qc.rzx(0.7, 0, 1)
qc.draw()

yields

     ┌───────────┐
q_0: ┤0          ├
     │  Rzx(0.7) │
q_1: ┤1          ├
     └───────────┘

Then

backend = FakeMumbai()
inst_sched_map = backend.defaults().instruction_schedule_map
coupling_map = backend.configuration().coupling_map
pm = PassManager(RZXCalibrationBuilder(inst_sched_map, coupling_map))
qc_pulse = pm.run(qc)
schedule(qc_pulse, backend).draw()

image

Note the top blue pulses should never occur at the same time as the yellow pulses.

What should happen?

Using the current stable version of Terra (0.21.2), the above code yields image

Any suggestions?

There is likely a missing pulse.align_sequential() context in rzx_builder.py.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
nkanazawa1989commented, Oct 28, 2022

Thanks for reporting and testing the PR. I added this (unintentional) fix to the release note.

0reactions
nbronncommented, Oct 27, 2022

Well, this issue should be kept open until that PR is actually merged.

If you say so.

Read more comments on GitHub >

github_iconTop Results From Across the Web

RZXCalibrationBuilder - Qiskit
Creates calibrations for RZXGate(theta) by stretching and compressing Gaussian square pulses in the CX gate. This is done by retrieving (for a given...
Read more >
RZXCalibrationBuilder QiskitError message and other related ...
channel names that apply on that qubit. Raises: QiskitError: if open pulse is not supported by the backend.
Read more >
qiskit-terra Changelog - PyUp.io
Use round instead of ceil for GaussianSquare pulse duration in RZXCalibrationBuilder (7995) - Fix fake backend v2 dtm unit (8019)
Read more >
qiskit-terra - bytemeta
RZXCalibrationBuilder aligns pulses incorrectly. woodsp-ibm. woodsp-ibm CLOSED ... Possibly incorrect docstring in C4XGate. Previous Next.
Read more >
Kernel CICD test must timeout if any task hangs - Microsoft/Ebpf-For ...
RZXCalibrationBuilder aligns pulses incorrectly, 5, 2022-10-27, 2022-10-21. [Docs] Docs issue created from https://docs.ray.io/en/latest/ do not have the ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found