Pulsar backend cannot compile a DRAG pulse with G_amp=0

  • Quantify version: d7c7e6c1 (based on most recent version of develop) (see also !71 (merged) )
  • Python version: 3.8.5
  • Operating System: MacOS

Description

I was writing tests for the timedomain experiments and noticed a test failing when trying to compile the AllXY experiment using the qblox pulsar backend.

The offending code appears to be in line 370 of quantify.scheduler.backends.pulsar_backend.py

What I Did

Test marked as xfail is the offending test. Code is included in !71 (merged)


class TestAllXYSched:
    @classmethod
    def setup_class(cls):
        set_datadir(tmp_dir.name)
        cls.sched_kwargs = {
            "qubit": "q0",
        }

        cls.sched = ts.allxy_sched(**cls.sched_kwargs)
        cls.sched = qcompile(cls.sched, DEVICE_CFG)

    def test_timing(self):
        # test that the right operations are added and timing is as expected.
        for i, constr in enumerate(self.sched.timing_constraints):
            if i % 4 == 0:
                assert constr["label"][:5] == "Reset"
            if (i - 3) % 4 == 0:
                assert constr["label"][:11] == "Measurement"

    def test_operations(self):
        # 7 operations (x90, y90, X180, Y180, idle, reset measurement)
        assert len(self.sched.operations) == 7


    @pytest.mark.xfail
    def test_compiles_qblox_backend(self):
        # assert that files properly compile
        qcompile(self.sched, DEVICE_CFG, HARDWARE_MAPPING)

    def test_compiles_zi_backend(self):
        pass

What Was Expected

I expected the program to compile correctly for the pulsar backend.

What Actually Happened

image

Update

Problem also occured in experiment during a rabi measurement. image

Edited Mar 30, 2021 by Adriaan
Assignee Loading
Time tracking Loading