pub trait ObjectiveFunction: Send + Sync {
// Required methods
fn evaluate(&self, parameters: &[f64]) -> DeviceResult<f64>;
fn gradient(&self, parameters: &[f64]) -> DeviceResult<Option<Vec<f64>>>;
fn metadata(&self) -> HashMap<String, String>;
}Expand description
Objective function trait for quantum optimization
Required Methods§
Sourcefn evaluate(&self, parameters: &[f64]) -> DeviceResult<f64>
fn evaluate(&self, parameters: &[f64]) -> DeviceResult<f64>
Evaluate the objective function
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".