pub trait LineSearch<T, D>{
// Required method
fn search(
&self,
x: &OVector<T, D>,
p: &OVector<T, D>,
f: T,
g: &OVector<T, D>,
opt_prob: &OptProb<T, D>,
) -> T;
}
pub trait LineSearch<T, D>{
// Required method
fn search(
&self,
x: &OVector<T, D>,
p: &OVector<T, D>,
f: T,
g: &OVector<T, D>,
opt_prob: &OptProb<T, D>,
) -> T;
}