pub trait CostFunction: Send + Sync {
// Required methods
fn evaluate(
&self,
parameters: &[f64],
circuit: &InterfaceCircuit,
) -> Result<f64>;
fn get_observables(&self) -> Vec<String>;
fn is_variational(&self) -> bool;
}
Expand description
Cost function trait
Required Methods§
Sourcefn evaluate(
&self,
parameters: &[f64],
circuit: &InterfaceCircuit,
) -> Result<f64>
fn evaluate( &self, parameters: &[f64], circuit: &InterfaceCircuit, ) -> Result<f64>
Evaluate cost function for given parameters
Sourcefn get_observables(&self) -> Vec<String>
fn get_observables(&self) -> Vec<String>
Get observables for expectation value calculation
Sourcefn is_variational(&self) -> bool
fn is_variational(&self) -> bool
Check if cost function is variational (depends on quantum state)