pub trait SecondOrderOptimizationBlock<F, U, V, Ru, Rv, Kuu, Kvu, Kuv, Kvv> {
// Required method
fn minimize_block(
&self,
function: impl FnMut(&U, &V) -> Result<F, String>,
residual_global: impl FnMut(&U, &V) -> Result<Ru, String>,
residual_local: impl FnMut(&U, &V) -> Result<Rv, String>,
tangents: impl FnMut(&U, &V) -> Result<(Kuu, Kvu, Kuv, Kvv), String>,
initial_guess: (U, V),
constraint_global: (CscMatrix, Vector),
constraint_local: (CscMatrix, Vector),
sparse: Option<SparseSolver>,
strategy: SolveStrategy,
) -> Result<(U, V), OptimizationError>;
}Expand description
Second-order optimization algorithms for problems split into global and local variables.
Required Methods§
fn minimize_block( &self, function: impl FnMut(&U, &V) -> Result<F, String>, residual_global: impl FnMut(&U, &V) -> Result<Ru, String>, residual_local: impl FnMut(&U, &V) -> Result<Rv, String>, tangents: impl FnMut(&U, &V) -> Result<(Kuu, Kvu, Kuv, Kvv), String>, initial_guess: (U, V), constraint_global: (CscMatrix, Vector), constraint_local: (CscMatrix, Vector), sparse: Option<SparseSolver>, strategy: SolveStrategy, ) -> Result<(U, V), OptimizationError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.