qudit_inst/numerical/
minimizer.rs

1use qudit_core::RealScalar;
2
3use super::Function;
4use super::MinimizationResult;
5use super::Problem;
6
7pub trait MinimizationAlgorithm<R: RealScalar, P: Problem>: Clone {
8    type Func: Function;
9
10    fn initialize(&self, problem: &P) -> Self::Func;
11
12    fn minimize(&self, objective: &mut Self::Func, x0: &[R]) -> MinimizationResult<R>;
13}