iqm.benchmarks.randomized_benchmarking.randomized_benchmarking_common.generate_fixed_depth_parallel_rb_circuits

iqm.benchmarks.randomized_benchmarking.randomized_benchmarking_common.generate_fixed_depth_parallel_rb_circuits#

iqm.benchmarks.randomized_benchmarking.randomized_benchmarking_common.generate_fixed_depth_parallel_rb_circuits(qubits_array: list[list[int]], cliffords_1q: dict[str, IQMCircuit], cliffords_2q: dict[str, IQMCircuit], sequence_length: int, num_samples: int, backend_arg: IQMBackendBase | str, interleaved_gate: IQMCircuit | None = None) tuple[list[IQMCircuit], list[IQMCircuit]]#

Generates parallel RB circuits, before and after transpilation, at fixed depth.

Parameters:
  • qubits_array (list[list[int]]) – the qubits entering the quantum circuits.

  • cliffords_1q (dict[str, IQMCircuit]) – dictionary of 1-qubit Cliffords in terms of IQM-native r gates.

  • cliffords_2q (dict[str, IQMCircuit]) – dictionary of 2-qubit Cliffords in terms of IQM-native r and CZ gates.

  • sequence_length (int) – the number of random Cliffords in the circuits.

  • num_samples (int) – the number of circuit samples.

  • backend_arg (IQMBackendBase | str) – the backend to transpile the circuits to.

  • interleaved_gate (IQMCircuit | None) – whether the circuits should have interleaved gates.

Returns:

A list of QuantumCircuits of given RB sequence length for parallel RB

Return type:

tuple[list[IQMCircuit], list[IQMCircuit]]