Skip to content

Why flips are pairs of flips ? #1506

Description

@jevillegasd

In the flip sequence, for every item in the range of flips used we apply two 180 gates, which is a bit counterintuitive since this would double the number of flips. Yesterday with @lballerio we discussed about this. Would it not make better sense if the number of flips matches the number of rx180 gates. To make sure that you always measure in positive then the final RX90 gate can just have a conditional phase of 180 degrees depending on whether the number of gates is even or odd. The final sequence would look like:

    sequence = PulseSequence()
    natives = platform.natives.single_qubit[qubit]
    sequence |= natives.R(theta=np.pi / 2)
    for _ in range(flips):
        if rx90:
            qd_channel, qd_pulse = natives.RX90()[0]
        else:
            qd_channel, qd_pulse = natives.RX()[0]

        qd_detuned = update.replace(
            qd_pulse, amplitude=qd_pulse.amplitude + delta_amplitude
        )
        sequence.append((qd_channel, qd_detuned))
        # sequence.append((qd_channel, qd_detuned))

        if rx90:
            sequence.append((qd_channel, qd_detuned))
            sequence.append((qd_channel, qd_detuned))
    sequence |= natives.R(theta=np.pi / 2, phi = 0.0 if flips%2 == 0 else np.pi)
    sequence |= natives.MZ()

    return sequence

This is how 2D flip experiment (PR #1504 ) looks with the current schedule: http://login.qrccluster.com:9000/fIeddKqHT26EMLdwDhKYXA==
Image

And this is with the updated one: http://login.qrccluster.com:9000/oW8UKGzARoCNOUKtiTI7gw==/
Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions