pub trait SymbolicObjective {
// Required methods
fn evaluate(&self, parameters: &HashMap<String, f64>) -> QuantRS2Result<f64>;
fn gradients(
&self,
parameters: &HashMap<String, f64>,
) -> QuantRS2Result<HashMap<String, f64>>;
fn parameter_names(&self) -> Vec<String>;
// Provided method
fn parameter_bounds(&self) -> HashMap<String, (Option<f64>, Option<f64>)> { ... }
}
Expand description
Symbolic objective function for optimization
Required Methods§
Sourcefn evaluate(&self, parameters: &HashMap<String, f64>) -> QuantRS2Result<f64>
fn evaluate(&self, parameters: &HashMap<String, f64>) -> QuantRS2Result<f64>
Evaluate the objective function
Sourcefn gradients(
&self,
parameters: &HashMap<String, f64>,
) -> QuantRS2Result<HashMap<String, f64>>
fn gradients( &self, parameters: &HashMap<String, f64>, ) -> QuantRS2Result<HashMap<String, f64>>
Compute gradients (analytical if available, numerical otherwise)
Sourcefn parameter_names(&self) -> Vec<String>
fn parameter_names(&self) -> Vec<String>
Get parameter names