Trait argmin::parameter::ArgminParameter
[−]
[src]
pub trait ArgminParameter: Clone + Default + Debug { fn modify(&self, _: &Self, _: &Self, _: &Fn(&Self) -> bool) -> Self; fn random(_: &Self, _: &Self) -> Result<Self, Error>; }
This trait needs to be implemented for every parameter fed into the solvers. This is highly UNSTABLE and will change in the future.
Required Methods
fn modify(&self, _: &Self, _: &Self, _: &Fn(&Self) -> bool) -> Self
Defines a modification of the parameter vector.
The parameters:
&self
: reference to the object of type Self
lower_bound
: Lower bound of the parameter vector. Same type as parameter vector (Self
)
upper_bound
: Upper bound of the parameter vector. Same type as parameter vector (Self
)
constraint
: Additional (non)linear constraint whith the signature &Fn(&Self) -> bool
.
The provided function takes a parameter as input and returns true
if the parameter vector
satisfies the constraints and false
otherwise.
fn random(_: &Self, _: &Self) -> Result<Self, Error>
Returns a completely random parameter vector
The resulting parameter vector satisfies lower_bound
, upper_bound
.