quri_parts.backend.device module¶
- class QubitProperty(T1=None, T2=None, frequency=None, prob_meas0_on_state1=None, prob_meas1_on_state0=None, readout_time=None, name=None)¶
Bases:
objectNoise property of a qubit.
- Parameters:
T1 (TimeValue, optional) – t1 relaxation time
T2 (TimeValue, optional) – t2 relaxation time
frequency (FrequencyValue,optional) – qubit frequency
prob_meas0_on_state1 (float, optional) – readout error probability of measuring 0 when the state is 1
prob_meas1_on_state0 (float, optional) – readout error probability of measuring 1 when the state is 0
readout_time (TimeValue, optional) – time duration on measurement.
name (str, optional) – name of the qubit
- frequency: FrequencyValue | None = None¶
- prob_meas0_on_state1: float | None = None¶
- prob_meas1_on_state0: float | None = None¶
- name: str | None = None¶
- class GateProperty(gate, qubits, gate_error=None, gate_time=None, name=None)¶
Bases:
objectNoise property of a gate.
- Parameters:
gate (str) – gate name
qubits (Sequence[int]) – target qubits for the gate. The order is control_index0, control_index1, …, target_index0, …
gate_error (float, optional) – 1 - fidelity of the gate operation
gate_time (float, optional) – time duration of the gate operation
name (str, optional) – name of the gate
- gate: str¶
- qubits: Sequence[int]¶
- gate_error: float | None = None¶
- name: str | None = None¶
- class DeviceProperty(qubit_count, qubits, qubit_graph, qubit_properties, native_gates, gate_properties, physical_qubit_count=None, background_error=None, name=None, provider=None, transpiler=None, parametric_transpiler=None, analyze_transpiler=None, analyze_parametric_transpiler=None, noise_model=None)¶
Bases:
objectStores properties of a quantum device for circuit cost estimation.
- Parameters:
qubit_count (int) – Number of qubits.
qubits (Sequence[int]) – Qubit indices.
qubit_graph (newtorkx.Graph) – Topology of qubit connections.
qubit_properties (Mapping[int, QubitProperty]) – Mapping from qubit index to QubitProperty.
native_gates (Collection[str]) – Names of supported gates.
gate_properties (Collection[GateProperty]) – Collection of GateProperty.
physical_qubit_count (int | None) – (int, optional): Number of physical qubits.
background_error (tuple[float, TimeValue] | None) – (tuple[float, TimeValue], optional): The errors that occur with respect to the passage of time for each qubit, regardless of the application of gates, etc. It must be given together with the time unit.
name (str, optional) – Name of the device.
provider (str, optional) – Provider of the device.
transpiler (CircuitTranspiler, optional) – CircuitTranspiler for converting to an instruction sequence supported by the target device.
parametric_transpiler (ParametricCircuitTranspiler, optional) – ParametricCircuitTranspiler for converting to an instruction sequence supported by the target device.
noise_model (NoiseModel, optional) – Noise models that reproduce device behaviour.
analyze_transpiler (circuit.transpile.transpiler.CircuitTranspiler | None)
analyze_parametric_transpiler (circuit.transpile.transpiler.ParametricCircuitTranspiler | None)
- qubit_count: int¶
- qubits: Sequence[int]¶
- qubit_graph: Graph¶
- qubit_properties: Mapping[int, QubitProperty]¶
- native_gates: Sequence[str]¶
- physical_qubit_count: int | None = None¶
- name: str | None = None¶
- provider: str | None = None¶
- transpiler: circuit.transpile.transpiler.CircuitTranspiler | None = None¶
- parametric_transpiler: circuit.transpile.transpiler.ParametricCircuitTranspiler | None = None¶
- analyze_transpiler: circuit.transpile.transpiler.CircuitTranspiler | None = None¶
- analyze_parametric_transpiler: circuit.transpile.transpiler.ParametricCircuitTranspiler | None = None¶
- noise_model: NoiseModel | None = None¶
- gate_property(quantum_gate)¶
Returns GateProperty of the device corresponding to the given QuantumGate.
If the given quantum gate is not specified with qubits, the GateProperty for the kind of the quantum gate is searched.
- Parameters:
quantum_gate (QuantumGate)
- Return type: