Struct rgsl::types::multifit_solver::MultiFitFdfSolver
[−]
[src]
pub struct MultiFitFdfSolver<'r, T: 'r> { pub x: VectorF64, pub f: VectorF64, pub j: MatrixF64, pub dx: VectorF64, // some fields omitted }
Fields
x: VectorF64
f: VectorF64
j: MatrixF64
dx: VectorF64
Methods
impl<'r, T> MultiFitFdfSolver<'r, T>
[src]
fn new(_type: &'r MultiFitFdfSolverType<T>, n: usize, p: usize) -> Option<MultiFitFdfSolver<'r, T>>
This function returns a pointer to a newly allocated instance of a solver of type T for n observations and p parameters. The number of observations n must be greater than or equal to parameters p.
fn set(&mut self, f: &mut MultiFitFunctionFdf<'r, T>, x: &VectorF64) -> Value
This function initializes, or reinitializes, an existing solver s to use the function f and the initial guess x.
fn name(&self) -> &'static str
fn iterate(&mut self) -> Value
This function performs a single iteration of the solver s. If the iteration encounters an unexpected problem then an error code will be returned. The solver maintains a current estimate of the best-fit parameters at all times.
fn position(&'r self) -> &'r VectorF64
This function returns the current position (i.e. best-fit parameters) s->x of the solver s.
fn driver(&mut self, max_iter: usize, epsabs: f64, epsrel: f64) -> Value
These functions iterate the solver s for a maximum of maxiter iterations. After each iteration, the system is tested for convergence using gsl_multifit_test_delta with the error tolerances epsabs and epsrel.