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
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
- Reset qubits to ground state
- Apply random sequence of Clifford operations
- Apply inverse Clifford operations (optional)
- Measure qubit states
- 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).