iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb.MirrorRBConfiguration#
- class iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb.MirrorRBConfiguration(*, benchmark: type[~iqm.benchmarks.benchmark_definition.Benchmark] = <class 'iqm.benchmarks.randomized_benchmarking.mirror_rb.mirror_rb.MirrorRandomizedBenchmarking'>, 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, qubits_array: ~collections.abc.Sequence[~collections.abc.Sequence[int]], depths_array: ~collections.abc.Sequence[~collections.abc.Sequence[int]], num_circuit_samples: int, num_pauli_samples: int, qiskit_optim_level: int = 1, two_qubit_gate_ensemble: dict[str, float] = {'CZGate': 1.0}, density_2q_gates: float = 0.25, clifford_sqg_probability: float = 1.0, sqg_gate_ensemble: dict[str, float] | None = None, simulation_method: ~typing.Literal['automatic', 'statevector', 'stabilizer', 'extended_stabilizer', 'matrix_product_state'] = 'automatic')#
Bases:
BenchmarkConfigurationBaseMirror RB configuration.
- Parameters:
shots (int)
max_gates_per_batch (int | None)
max_circuits_per_batch (int | None)
routing_method (RoutingMethod)
physical_layout (PhysicalLayout)
use_dd (bool | None)
dd_strategy (DDStrategy | None)
active_reset_cycles (int | None)
num_circuit_samples (int)
num_pauli_samples (int)
qiskit_optim_level (int)
density_2q_gates (float)
clifford_sqg_probability (float)
simulation_method (Literal['automatic', 'statevector', 'stabilizer', 'extended_stabilizer', 'matrix_product_state'])
- benchmark#
Benchmark.
- qubits_array#
Array of physical qubits in which to execute MRB.
- depths_array#
Array of physical depths in which to execute MRB for a corresponding qubit list. If len is the same as that of qubits_array, each
Sequence[int]corresponds to the depths for the corresponding layout of qubits. If len is different from that ofqubits_array, assigns the firstSequence[int].
- shots#
Number of measurement shots to execute per circuit.
- routing_method#
Routing method to use in transpilation.
- two_qubit_gate_ensemble#
Two-qubit gate ensemble to use in the random mirror circuits. Keys correspond to str names of Qiskit circuit library gates, e.g., “CZGate” or “CXGate”. Values correspond to the probability for the respective gate to be sampled.
- sqg_gate_ensemble#
Dictionary with keys being str specifying 1Q gates, and values being corresponding probabilities.
- simulation_method#
Qiskit’s Aer simulation method.
- Type:
Literal[‘automatic’, ‘statevector’, ‘stabilizer’, ‘extended_stabilizer’, ‘matrix_product_state’]
Attributes
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
max_gates_per_batchmax_circuits_per_batchphysical_layoutuse_dddd_strategyactive_reset_cyclesMethods
- model_config = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].