pub struct HardwareAwareQMLOptimizer { /* private fields */ }Expand description
Main hardware-aware QML optimizer
Implementations§
Source§impl HardwareAwareQMLOptimizer
impl HardwareAwareQMLOptimizer
Sourcepub fn new(config: HardwareAwareConfig) -> Result<Self>
pub fn new(config: HardwareAwareConfig) -> Result<Self>
Create new hardware-aware QML optimizer
Sourcepub fn optimize_qml_circuit(
&mut self,
circuit: &InterfaceCircuit,
training_data: Option<&Array2<f64>>,
) -> Result<HardwareOptimizedCircuit>
pub fn optimize_qml_circuit( &mut self, circuit: &InterfaceCircuit, training_data: Option<&Array2<f64>>, ) -> Result<HardwareOptimizedCircuit>
Optimize QML circuit for target hardware
Sourcepub fn generate_hardware_efficient_ansatz(
&self,
num_qubits: usize,
num_layers: usize,
target_expressivity: f64,
) -> Result<InterfaceCircuit>
pub fn generate_hardware_efficient_ansatz( &self, num_qubits: usize, num_layers: usize, target_expressivity: f64, ) -> Result<InterfaceCircuit>
Generate hardware-efficient ansatz for QML
Sourcepub fn optimize_qml_training(
&mut self,
training_config: &mut QMLIntegrationConfig,
training_data: &Array2<f64>,
) -> Result<()>
pub fn optimize_qml_training( &mut self, training_config: &mut QMLIntegrationConfig, training_data: &Array2<f64>, ) -> Result<()>
Optimize QML training for hardware characteristics
Sourcepub fn monitor_and_adapt(
&mut self,
current_performance: &PerformanceMetrics,
) -> Result<Option<AdaptationAction>>
pub fn monitor_and_adapt( &mut self, current_performance: &PerformanceMetrics, ) -> Result<Option<AdaptationAction>>
Monitor and adapt QML performance in real-time
Sourcepub fn get_cross_device_compatibility(
&self,
source_arch: HardwareArchitecture,
target_arch: HardwareArchitecture,
) -> f64
pub fn get_cross_device_compatibility( &self, source_arch: HardwareArchitecture, target_arch: HardwareArchitecture, ) -> f64
Get cross-device compatibility score
pub fn check_adaptation_trigger( trigger: &AdaptationTrigger, performance: &PerformanceMetrics, ) -> Result<bool>
Sourcepub fn analyze_circuit_public(
&self,
circuit: &InterfaceCircuit,
) -> Result<CircuitAnalysis>
pub fn analyze_circuit_public( &self, circuit: &InterfaceCircuit, ) -> Result<CircuitAnalysis>
Analyze circuit (public version)
Sourcepub fn optimize_qubit_mapping_public(
&self,
circuit: &InterfaceCircuit,
analysis: &CircuitAnalysis,
) -> Result<HashMap<usize, usize>>
pub fn optimize_qubit_mapping_public( &self, circuit: &InterfaceCircuit, analysis: &CircuitAnalysis, ) -> Result<HashMap<usize, usize>>
Optimize qubit mapping (public version)
Sourcepub const fn is_gate_directly_executable_public(
&self,
gate_type: &InterfaceGateType,
qubits: &[usize],
) -> bool
pub const fn is_gate_directly_executable_public( &self, gate_type: &InterfaceGateType, qubits: &[usize], ) -> bool
Check if gate is directly executable (public version)
Sourcepub fn decompose_or_route_gate_public(
&self,
gate_type: &InterfaceGateType,
qubits: &[usize],
) -> Result<Vec<InterfaceGate>>
pub fn decompose_or_route_gate_public( &self, gate_type: &InterfaceGateType, qubits: &[usize], ) -> Result<Vec<InterfaceGate>>
Decompose or route gate (public version)
Sourcepub fn apply_ibm_optimizations_public(
&self,
circuit: &mut InterfaceCircuit,
) -> Result<()>
pub fn apply_ibm_optimizations_public( &self, circuit: &mut InterfaceCircuit, ) -> Result<()>
Apply IBM optimizations (public version)
Sourcepub fn gates_cancel_public(
&self,
gate1: &InterfaceGate,
gate2: &InterfaceGate,
) -> bool
pub fn gates_cancel_public( &self, gate1: &InterfaceGate, gate2: &InterfaceGate, ) -> bool
Check if gates cancel (public version)
Sourcepub fn estimate_error_rate_public(
&self,
circuit: &InterfaceCircuit,
) -> Result<f64>
pub fn estimate_error_rate_public( &self, circuit: &InterfaceCircuit, ) -> Result<f64>
Estimate error rate (public version)
Sourcepub fn start_performance_monitoring_public(&mut self) -> Result<()>
pub fn start_performance_monitoring_public(&mut self) -> Result<()>
Start performance monitoring (public version)
Sourcepub const fn get_performance_monitor(&self) -> &PerformanceMonitoringData
pub const fn get_performance_monitor(&self) -> &PerformanceMonitoringData
Get performance monitor reference
Auto Trait Implementations§
impl Freeze for HardwareAwareQMLOptimizer
impl RefUnwindSafe for HardwareAwareQMLOptimizer
impl Send for HardwareAwareQMLOptimizer
impl Sync for HardwareAwareQMLOptimizer
impl Unpin for HardwareAwareQMLOptimizer
impl UnwindSafe for HardwareAwareQMLOptimizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.