iqm.benchmarks.randomized_benchmarking.interleaved_rb.interleaved_rb.InterleavedRBConfiguration#

class iqm.benchmarks.randomized_benchmarking.interleaved_rb.interleaved_rb.InterleavedRBConfiguration(*, benchmark: ~typing.Type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.randomized_benchmarking.interleaved_rb.interleaved_rb.InterleavedRandomizedBenchmarking'>, shots: int = 256, max_gates_per_batch: int | None = None, max_circuits_per_batch: int | None = None, calset_id: str | None = None, routing_method: ~typing.Literal['basic', 'lookahead', 'stochastic', 'sabre', 'none'] = 'sabre', physical_layout: ~typing.Literal['fixed', 'batching'] = 'fixed', use_dd: bool | None = False, dd_strategy: ~iqm.iqm_client.models.DDStrategy | None = None, qubits_array: ~typing.Sequence[~typing.Sequence[int]], sequence_lengths: ~typing.Sequence[int], num_circuit_samples: int, parallel_execution: bool = False, interleaved_gate: str, interleaved_gate_params: ~typing.Sequence[float] | None = None, simultaneous_fit: ~typing.Sequence[~typing.Literal['amplitude', 'offset']] = ['amplitude', 'offset'])#

Bases: BenchmarkConfigurationBase

Interleaved RB configuration. .. attribute:: benchmark

InterleavedRandomizedBenchmarking.

type:

Type[Benchmark]

Parameters:
  • benchmark (Type[Benchmark]) –

  • shots (int) –

  • max_gates_per_batch (int | None) –

  • max_circuits_per_batch (int | None) –

  • calset_id (str | None) –

  • routing_method (Literal['basic', 'lookahead', 'stochastic', 'sabre', 'none']) –

  • physical_layout (Literal['fixed', 'batching']) –

  • use_dd (bool | None) –

  • dd_strategy (DDStrategy | None) –

  • qubits_array (Sequence[Sequence[int]]) –

  • sequence_lengths (Sequence[int]) –

  • num_circuit_samples (int) –

  • parallel_execution (bool) –

  • interleaved_gate (str) –

  • interleaved_gate_params (Sequence[float] | None) –

  • simultaneous_fit (Sequence[Literal['amplitude', 'offset']]) –

qubits_array#

The array of physical qubit labels with which to execute IRB.

Type:

Sequence[Sequence[int]]

sequence_lengths#

The length of each random Clifford sequence.

Type:

Sequence[int]

num_circuit_samples#

The number of circuit samples to generate.

Type:

int

shots#

The number of measurement shots with which to execute each circuit sample.

Type:

int

parallel_execution#

Whether the benchmark is executed on all qubits in parallel or not. * Default is False.

Type:

bool

interleaved_gate#

The name of the gate to interleave. * Should be specified as a qiskit circuit library gate name, e.g., “YGate” or “CZGate”.

Type:

str

interleaved_gate_params#

Any optional parameters entering the gate. * Default is None.

Type:

Optional[Sequence[float]]

simultaneous_fit#

Optional parameters to fit simultaneously. * Default is [“amplitude”, “offset”].

Type:

Sequence[Literal[“amplitude”, “offset”]]

Attributes

model_config

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

benchmark

qubits_array

sequence_lengths

num_circuit_samples

parallel_execution

interleaved_gate

interleaved_gate_params

simultaneous_fit

shots

max_gates_per_batch

max_circuits_per_batch

calset_id

routing_method

physical_layout

use_dd

dd_strategy

Methods

model_config: ClassVar[ConfigDict] = {}#

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