pub struct MultiRootFSolver<'a> { /* private fields */ }
Expand description
This is a workspace for multidimensional root-finding without derivatives.
Implementations
sourceimpl<'a> MultiRootFSolver<'a>
impl<'a> MultiRootFSolver<'a>
sourcepub fn new(t: &MultiRootFSolverType, n: usize) -> Option<MultiRootFSolver<'a>>
pub fn new(t: &MultiRootFSolverType, n: usize) -> Option<MultiRootFSolver<'a>>
This function returns a pointer to a newly allocated instance of a solver of type T
with
n
unknowns.
If there is insufficient memory to create the solver then the function returns a null
pointer and the error handler is invoked with an error code of Value::NoMemory
.
sourcepub fn set<F: Fn(&VectorF64, &mut VectorF64) -> Value + 'a>(
&mut self,
f: F,
n: usize,
x: &VectorF64
) -> Value
pub fn set<F: Fn(&VectorF64, &mut VectorF64) -> Value + 'a>(
&mut self,
f: F,
n: usize,
x: &VectorF64
) -> Value
This function initializes, or reinitializes, an existing solver s
to use the multi
function f
with n
unknowns.
sourcepub fn iterate(&mut self) -> Value
pub fn iterate(&mut self) -> Value
This function performs a single iteration of the minimizer s. If the iteration encounters an unexpected problem then an error code will be returned,
::Value::BadFunc the iteration encountered a singular point where the function evaluated to Inf or NaN.
::Value::Failure the algorithm could not improve the current best approximation or bounding interval.
The minimizer maintains a current best estimate of the position of the minimum at all times, and the current interval bounding the minimum. This information can be accessed with the following auxiliary functions,
sourcepub fn root(&self) -> VectorF64
pub fn root(&self) -> VectorF64
This function returns the current estimate of the root for the solver s
, given by s->x
.
Trait Implementations
Auto Trait Implementations
impl<'a> !RefUnwindSafe for MultiRootFSolver<'a>
impl<'a> !Send for MultiRootFSolver<'a>
impl<'a> !Sync for MultiRootFSolver<'a>
impl<'a> Unpin for MultiRootFSolver<'a>
impl<'a> !UnwindSafe for MultiRootFSolver<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more