iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb.MirrorRandomizedBenchmarking#

class iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb.MirrorRandomizedBenchmarking(backend_arg: IQMBackendBase | str, configuration: MirrorRBConfiguration)#

Bases: Benchmark

Mirror RB estimates the fidelity of ensembles of n-qubit layers.

Attributes

Methods

add_all_meta_to_dataset(dataset)

Adds all configuration metadata and circuits to the dataset variable.

analysis_function(run)

Analysis function for a MRB experiment.

execute(backend)

Executes the benchmark.

name()

Returns the name of the benchmark.

submit_single_mrb_job(backend_arg, qubits, ...)

Submit fixed-depth MRB jobs for execution in the specified IQMBackend.

Parameters:
static analysis_function(run: BenchmarkRunResult) BenchmarkAnalysisResult#

Analysis function for a MRB experiment.

Parameters:

run (BenchmarkRunResult) – A MRB experiment run for which analysis result is created

Returns:

AnalysisResult corresponding to MRB

Return type:

BenchmarkAnalysisResult

classmethod name() str#

Returns the name of the benchmark.

Return type:

str

add_all_meta_to_dataset(dataset: Dataset) None#

Adds all configuration metadata and circuits to the dataset variable.

Parameters:

dataset (Dataset) – The xarray dataset

Return type:

None

submit_single_mrb_job(backend_arg: IQMBackendBase, qubits: Sequence[int], depth: int, sorted_transpiled_circuit_dicts: dict[tuple[int, ...], list[IQMCircuit]]) dict[str, Any]#

Submit fixed-depth MRB jobs for execution in the specified IQMBackend.

Parameters:
  • backend_arg (IQMBackendBase) – the IQM backend to submit the job

  • qubits (Sequence[int]) – the qubits to identify the submitted job

  • depth (int) – the depth (number of canonical layers) of the circuits to identify the submitted job

  • sorted_transpiled_circuit_dicts (dict[tuple[int, ...], list[IQMCircuit]]) – A dictionary containing all MRB circuits

Returns:

Dict with qubit layout, submitted job objects, type (vanilla/DD) and submission time

Return type:

dict[str, Any]

execute(backend: IQMBackendBase) Dataset#

Executes the benchmark.

Parameters:

backend (IQMBackendBase) – the IQM backend to execute the benchmark on

Returns:

The dataset containing all results and metadata of the benchmark execution

Return type:

Dataset