iqm.benchmarks.quantum_volume.quantum_volume.QuantumVolumeConfiguration#

class iqm.benchmarks.quantum_volume.quantum_volume.QuantumVolumeConfiguration(*, benchmark: type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.quantum_volume.quantum_volume.QuantumVolumeBenchmark'>, 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, num_circuits: int, num_sigmas: int = 2, choose_qubits_routine: ~typing.Literal['custom'] = 'custom', custom_qubits_array: ~collections.abc.Sequence[~collections.abc.Sequence[int]], qiskit_optim_level: int = 3, approximation_degree: float = 1.0, optimize_sqg: bool = True, rem: bool = True, mit_shots: int = 1000)#

Bases: BenchmarkConfigurationBase

Quantum Volume configuration.

Parameters:
benchmark#

QuantumVolumeBenchmark.

Type:

type[iqm.benchmarks.benchmark_definition.Benchmark]

num_circuits#

Number of circuits to use. Should be at least 100 for a meaningful QV experiment.

Type:

int

num_sigmas#

Number of sample standard deviations to consider with for the threshold criteria. Default by consensus is 2.

Type:

int

choose_qubits_routine#

Routine to select qubit layouts.

Type:

Literal[‘custom’]

custom_qubits_array#

Physical qubit layouts to perform the benchmark on.

Type:

collections.abc.Sequence[collections.abc.Sequence[int]]

qiskit_optim_level#

Qiskit transpilation optimization level.

Type:

int

optimize_sqg#

Whether Single Qubit Gate Optimization is performed upon transpilation.

Type:

bool

routing_method#

Qiskit transpilation routing method to use.

physical_layout#

Whether the coupling map is restricted to qubits in the input layout or not. “fixed” restricts the coupling map to only the specified qubits. “batching” considers the full coupling map of the backend and circuit execution is batched per final layout.

rem#

Whether Readout Error Mitigation is applied in post-processing. When set to True, both results (readout-unmitigated and -mitigated) are produced.

Type:

bool

mit_shots#

The measurement shots to use for readout calibration.

Type:

int

Attributes

model_config

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

benchmark

num_circuits

num_sigmas

choose_qubits_routine

custom_qubits_array

qiskit_optim_level

approximation_degree

optimize_sqg

rem

mit_shots

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].