pub trait QuantumHardwareBackend:
Send
+ Sync
+ Debug {
Show 13 methods
// Required methods
fn backend_name(&self) -> &str;
fn hardware_type(&self) -> HardwareType;
fn capabilities(&self) -> HardwareCapabilities;
fn status(&self) -> HardwareStatus;
fn initialize(&self) -> Result<(), QuantRS2Error>;
fn calibrate(&self) -> Result<CalibrationResult, QuantRS2Error>;
fn execute_gate(
&self,
gate: &dyn GateOp,
context: &ExecutionContext,
) -> Result<ExecutionResult, QuantRS2Error>;
fn execute_circuit(
&self,
circuit: &[Box<dyn GateOp>],
context: &ExecutionContext,
) -> Result<CircuitResult, QuantRS2Error>;
fn measure_qubits(
&self,
qubits: &[QubitId],
basis: MeasurementBasis,
) -> Result<MeasurementResult, QuantRS2Error>;
fn get_noise_model(&self) -> NoiseModel;
fn estimate_fidelity(&self, operation: &dyn GateOp) -> f64;
fn estimate_execution_time(&self, operation: &dyn GateOp) -> Duration;
fn get_connectivity_graph(&self) -> ConnectivityGraph;
}
Expand description
Trait for quantum hardware backends