pub trait QuantumCostFunction {
// Required methods
fn evaluate_quantum(&self, angles: &QAOAAngles) -> SolverResult<f64>;
fn evaluate_perturbed(
&self,
angles: &QAOAAngles,
perturbation: &QAOAAngles,
) -> SolverResult<(f64, f64)>;
fn problem_size(&self) -> u8;
}Expand description
Quantum cost function trait
Required Methods§
Sourcefn evaluate_quantum(&self, angles: &QAOAAngles) -> SolverResult<f64>
fn evaluate_quantum(&self, angles: &QAOAAngles) -> SolverResult<f64>
Evaluate cost function on quantum hardware
Sourcefn evaluate_perturbed(
&self,
angles: &QAOAAngles,
perturbation: &QAOAAngles,
) -> SolverResult<(f64, f64)>
fn evaluate_perturbed( &self, angles: &QAOAAngles, perturbation: &QAOAAngles, ) -> SolverResult<(f64, f64)>
Evaluate cost function with perturbed parameters
Sourcefn problem_size(&self) -> u8
fn problem_size(&self) -> u8
Get problem size