Skip to content

measurement

tergite_autocalibration.lib.nodes.coupler.tqg_randomized_benchmarking.measurement

Classes:

Name Description
TQGRandomizedBenchmarkingSSROMeasurement

TQGRandomizedBenchmarkingSSROMeasurement

TQGRandomizedBenchmarkingSSROMeasurement(transmons: dict[str, ExtendedTransmon], couplers: dict[str, ExtendedCompositeSquareEdge], qubit_state: int = 0)

Bases: BaseMeasurement

Methods:

Name Description
add_calibration_measurements

Adds calibration measurements for each qubit state.

add_coupler_clock_resources

Add a clock resource for the coupler's "CZ" (controlled-Z) gate to the schedule

add_qubit_clock_resources

Adds three clock resources for a given qubit to the schedule.

prepare_state

Prepares a qubit in a given state.

schedule_function

Generates a schedule for performing randomized benchmarking (RB) experiments using Clifford gates

add_calibration_measurements

add_calibration_measurements(shot: Schedule, qubits: list[str], num_clifford_sequence_lengths: int, root_relaxation) -> None

Adds calibration measurements for each qubit state.

add_coupler_clock_resources

add_coupler_clock_resources(schedule: Schedule, coupler_name: str) -> None

Add a clock resource for the coupler's "CZ" (controlled-Z) gate to the schedule The frequency is adjusted by subtracting the coupler's "CZ" frequency from the downconversion factor

Parameters:

Name Type Description Default
schedule Schedule

The schedule to add resources to

required
coupler_name str

Name identifier for the coupler

required

add_qubit_clock_resources

add_qubit_clock_resources(schedule: Schedule, transmon: ExtendedTransmon, qubit_name: str) -> None

Adds three clock resources for a given qubit to the schedule. The three clock resources are: - Clock resource for readout frequency optimized for 3-state discrimination (|0>, |1>, |2>) - Clock resource for f01 transition frequency (from |0> to |1>) - Clock resource for f12 transition frequency (from |1> to |2>)

Parameters:

Name Type Description Default
schedule Schedule

The schedule to add resources to

required
transmon ExtendedTransmon

The transmon qubit configuration

required
qubit_name str

Name identifier for the qubit

required

prepare_state

prepare_state(shot: Schedule, qubit: str, state_level: int) -> None

Prepares a qubit in a given state.

schedule_function

schedule_function(seed: int, loop_repetitions: int, number_of_cliffords: dict[str, ndarray], interleaving_clifford_id: Optional[int] = None, apply_inverse_gate: bool = True) -> Schedule

Generates a schedule for performing randomized benchmarking (RB) experiments using Clifford gates to measure qubit error rates. The schedule creates a sequence of operations including state preparation, random Clifford operations, inverse operations, and measurement.

The basic sequence for each shot is
  1. Reset qubits to ground state
  2. Apply random sequence of Clifford operations
  3. Apply inverse Clifford operations (optional)
  4. Measure qubit states
  5. Reset for next iteration
Parameters

seed : int Random seed for generating Clifford sequences, ensuring reproducibility. loop_repetitions : int Number of times to repeat the entire schedule for statistical averaging. number_of_cliffords : dict[str, np.ndarray] Dictionary mapping qubit names to arrays of Clifford operation counts. Each array specifies the number of random Clifford operations to apply in different experimental sequences. interleaving_clifford_id : Optional[int], default=None If provided, specifies the ID of a Clifford gate to interleave between random Clifford operations. Used for interleaved RB experiments to characterize specific gate fidelities. apply_inverse_gate : bool, default=True Whether to apply inverse Clifford operations after the random sequence. The inverse operations should return the qubits to their initial state in the absence of errors.

Returns

Schedule A complete experimental schedule containing all pulses, measurements, and control flow for the RB experiment.

Notes
  • The schedule includes proper clock resource initialization for both qubits and couplers to ensure correct timing and frequency control.
  • Measurements use three-state optimized readout for improved fidelity.
  • The schedule includes buffer times and idle pulses to ensure proper timing alignment between operations.
  • The last three elements of the Clifford sequence lengths are currently excluded (marked as TODO for investigation).