iqm.benchmarks.randomized_benchmarking.eplg.eplg.EPLGConfiguration#

class iqm.benchmarks.randomized_benchmarking.eplg.eplg.EPLGConfiguration(*, benchmark: type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.randomized_benchmarking.eplg.eplg.EPLGBenchmark'>, shots: int = 256, max_gates_per_batch: int | None = None, max_circuits_per_batch: int | None = None, routing_method: ~iqm.benchmarks.utils.RoutingMethod = RoutingMethod.SABRE, physical_layout: ~iqm.benchmarks.utils.PhysicalLayout = PhysicalLayout.FIXED, use_dd: bool | None = False, dd_strategy: ~iqm.station_control.interface.models.circuit.DDStrategy | None = None, active_reset_cycles: int | None = None, drb_depths: ~collections.abc.Sequence[int], drb_circuit_samples: int, custom_qubits_array: ~collections.abc.Sequence[tuple[int, int]] | None = None, chain_length: int | None = None, chain_path_samples: int | None = None, num_disjoint_layers: int | None = None, max_hamiltonian_path_tries: int | None = None)#

Bases: BenchmarkConfigurationBase

EPLG Configuration.

Parameters:
drb_depths#

Layer depths to consider for the parallel DRB.

Type:

collections.abc.Sequence[int]

drb_circuit_samples#

Number of circuit samples to consider for the parallel DRB.

Type:

int

custom_qubits_array#

Custom qubits array to consider; this corresponds to a Sequence of tuple pairs of qubits. If not specified, will proceed to generate linear chains at random, selecting the one with the highest total 2Q gate fidelity.

Type:

collections.abc.Sequence[tuple[int, int]] | None

chain_length#

Length of a linear chain of 2Q gates to consider, corresponding to the number of qubits, if custom_qubits_array not specified. Default is None: assigns the number of qubits in the backend minus one.

Type:

int | None

chain_path_samples#

Number of chain path samples to consider, if custom_qubits_array not specified. Default is None: assigns 20 path samples (arbitrary).

Type:

int | None

num_disjoint_layers#

Number of disjoint layers to consider. Default is None: assigns 2 disjoint layers (arbitrary).

Type:

int | None

max_hamiltonian_path_tries#

Maximum number of tries to find a Hamiltonian path. Default is None: assigns 10 tries (arbitrary).

Type:

int | None

Attributes

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

benchmark

drb_depths

drb_circuit_samples

custom_qubits_array

chain_length

chain_path_samples

num_disjoint_layers

max_hamiltonian_path_tries

shots

max_gates_per_batch

max_circuits_per_batch

routing_method

physical_layout

use_dd

dd_strategy

active_reset_cycles

Methods

model_config = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].