iqm.benchmarks.randomized_benchmarking.clifford_rb.clifford_rb.CliffordRBConfiguration#

class iqm.benchmarks.randomized_benchmarking.clifford_rb.clifford_rb.CliffordRBConfiguration(*, benchmark: ~typing.Type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.randomized_benchmarking.clifford_rb.clifford_rb.CliffordRandomizedBenchmarking'>, shots: int = 256, max_gates_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', qubits_array: ~typing.Sequence[~typing.Sequence[int]], sequence_lengths: ~typing.Sequence[int], num_circuit_samples: int, parallel_execution: bool = False)#

Bases: BenchmarkConfigurationBase

Clifford RB configuration.

Parameters:
  • benchmark (Type[Benchmark]) –

  • shots (int) –

  • max_gates_per_batch (int | None) –

  • calset_id (str | None) –

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

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

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

  • sequence_lengths (Sequence[int]) –

  • num_circuit_samples (int) –

  • parallel_execution (bool) –

benchmark#

CliffordRandomizedBenchmarking

Type:

Type[Benchmark]

qubits_array#

The array of qubits on which to execute the benchmark.

Type:

Sequence[Sequence[int]]

sequence_lengths#

The length of Cliffords sequences with which to execute benchmark.

Type:

Sequence[int]

num_circuit_samples#

The number of Cliffords circuits per sequence length.

Type:

int

shots#

The number of measurement shots per circuit.

Type:

int

parallel_execution#

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

Type:

bool

Attributes

model_computed_fields

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config

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

model_fields

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

benchmark

qubits_array

sequence_lengths

num_circuit_samples

parallel_execution

shots

max_gates_per_batch

calset_id

routing_method

physical_layout

Methods

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}#

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

model_fields: ClassVar[Dict[str, FieldInfo]] = {'benchmark': FieldInfo(annotation=Type[Benchmark], required=False, default=<class 'iqm.benchmarks.randomized_benchmarking.clifford_rb.clifford_rb.CliffordRandomizedBenchmarking'>), 'calset_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'max_gates_per_batch': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'num_circuit_samples': FieldInfo(annotation=int, required=True), 'parallel_execution': FieldInfo(annotation=bool, required=False, default=False), 'physical_layout': FieldInfo(annotation=Literal['fixed', 'batching'], required=False, default='fixed'), 'qubits_array': FieldInfo(annotation=Sequence[Sequence[int]], required=True), 'routing_method': FieldInfo(annotation=Literal['basic', 'lookahead', 'stochastic', 'sabre', 'none'], required=False, default='sabre'), 'sequence_lengths': FieldInfo(annotation=Sequence[int], required=True), 'shots': FieldInfo(annotation=int, required=False, default=256)}#

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.