spin_pulse.transpilation.passes.rzz_echo

Classes

RZZEchoPass

Echo \(R_{ZZ}\) gates with \(X\) pulses to mitigate Stark shifts.

Module Contents

class spin_pulse.transpilation.passes.rzz_echo.RZZEchoPass[source]

Bases: qiskit.transpiler.basepasses.TransformationPass

Echo \(R_{ZZ}\) gates with \(X\) pulses to mitigate Stark shifts.

This transpiler pass replaces each two-qubit \(R_{ZZ}\) gate by an echoed sequence consisting of interleaved \(\pi\) rotations around the \(x\) axis and \(R_{ZZ}\) gates with half the original angle. The echo sequence is applied locally on each occurrence of an RZZ gate in the input DAG circuit.

run(dag)[source]

Apply the \(R_{ZZ}\) echo transformation to all \(R_{ZZ}\) gates in the DAG.

Each \(R_{ZZ}(\theta)\) operation is replaced by the following pattern on the two involved qubits:

  • \(R_X(\pi)\) on both qubits

  • \(R_{ZZ}(\theta / 2)\)

  • \(R_X(\pi)\) on both qubits

  • \(R_{ZZ}(\theta / 2)\)

All other operations are left unchanged.

Parameters:

dag (DAGCircuit) – Input circuit represented as a DAG on which the transformation is applied.

Returns:

New DAG circuit where each \(R_{ZZ}\) gate has been replaced by the echoed \(R_{ZZ}\) sequence.

Return type:

DAGCircuit