Struct argmin::core::IterState [−][src]
pub struct IterState<O: ArgminOp> {}Show fields
pub param: O::Param, pub prev_param: O::Param, pub best_param: O::Param, pub prev_best_param: O::Param, pub cost: O::Float, pub prev_cost: O::Float, pub best_cost: O::Float, pub prev_best_cost: O::Float, pub target_cost: O::Float, pub grad: Option<O::Param>, pub prev_grad: Option<O::Param>, pub hessian: Option<O::Hessian>, pub prev_hessian: Option<O::Hessian>, pub jacobian: Option<O::Jacobian>, pub prev_jacobian: Option<O::Jacobian>, pub population: Option<Vec<(O::Param, O::Float)>>, pub iter: u64, pub last_best_iter: u64, pub max_iters: u64, pub cost_func_count: u64, pub grad_func_count: u64, pub hessian_func_count: u64, pub jacobian_func_count: u64, pub modify_func_count: u64, pub time: Option<Duration>, pub termination_reason: TerminationReason,
Expand description
Maintains the state from iteration to iteration of a solver
Fields
param: O::Param
Current parameter vector
prev_param: O::Param
Previous parameter vector
best_param: O::Param
Current best parameter vector
prev_best_param: O::Param
Previous best parameter vector
cost: O::Float
Current cost function value
prev_cost: O::Float
Previous cost function value
best_cost: O::Float
Current best cost function value
prev_best_cost: O::Float
Previous best cost function value
target_cost: O::Float
Target cost function value
grad: Option<O::Param>
Current gradient
prev_grad: Option<O::Param>
Previous gradient
hessian: Option<O::Hessian>
Current Hessian
prev_hessian: Option<O::Hessian>
Previous Hessian
jacobian: Option<O::Jacobian>
Current Jacobian
prev_jacobian: Option<O::Jacobian>
Previous Jacobian
population: Option<Vec<(O::Param, O::Float)>>
All members for population-based algorithms as (param, cost) tuples
iter: u64
Current iteration
last_best_iter: u64
Iteration number of last best cost
max_iters: u64
Maximum number of iterations
cost_func_count: u64
Number of cost function evaluations so far
grad_func_count: u64
Number of gradient evaluations so far
hessian_func_count: u64
Number of Hessian evaluations so far
jacobian_func_count: u64
Number of Jacobian evaluations so far
modify_func_count: u64
Number of modify evaluations so far
time: Option<Duration>
Time required so far
termination_reason: TerminationReason
Reason of termination
Implementations
Set parameter vector. This shifts the stored parameter vector to the previous parameter vector.
Set best paramater vector. This shifts the stored best parameter vector to the previous best parameter vector.
Set the current cost function value. This shifts the stored cost function value to the previous cost function value.
Set the current best cost function value. This shifts the stored best cost function value to the previous cost function value.
Set gradient. This shifts the stored gradient to the previous gradient.
Set Hessian. This shifts the stored Hessian to the previous Hessian.
Set Jacobian. This shifts the stored Jacobian to the previous Jacobian.
Set target cost value
Set iteration number where the previous best parameter vector was found
Set termination_reason
Returns previous parameter vector
Returns best parameter vector
Returns previous best parameter vector
Returns previous cost function value
Returns current best cost function value
Returns previous best cost function value
Returns target cost
Returns current cost function evaluation count
Returns current gradient function evaluation count
Returns current Hessian function evaluation count
Returns current Jacobian function evaluation count
Returns current Modify function evaluation count
Returns iteration number where the last best parameter vector was found
Get termination_reason
Returns previous gradient
Returns current Hessian
Returns previous Hessian
Returns current Jacobian
Returns previous Jacobian
Returns maximum number of iterations
Increment the number of iterations by one
Increment all function evaluation counts by the evaluation counts of another operator
wrapped in OpWrapper
.
Set all function evaluation counts to the evaluation counts of another operator
wrapped in OpWrapper
.
Increment cost function evaluation count by num
Increment gradient function evaluation count by num
Increment Hessian function evaluation count by num
Increment Jacobian function evaluation count by num
Increment modify function evaluation count by num
Returns whether the current parameter vector is also the best parameter vector found so far.
Return whether the algorithm has terminated or not
Trait Implementations
impl<O: Clone + ArgminOp> Clone for IterState<O> where
O::Param: Clone,
O::Param: Clone,
O::Param: Clone,
O::Param: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Param: Clone,
O::Param: Clone,
O::Hessian: Clone,
O::Hessian: Clone,
O::Jacobian: Clone,
O::Jacobian: Clone,
O::Param: Clone,
O::Float: Clone,
impl<O: Clone + ArgminOp> Clone for IterState<O> where
O::Param: Clone,
O::Param: Clone,
O::Param: Clone,
O::Param: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Float: Clone,
O::Param: Clone,
O::Param: Clone,
O::Hessian: Clone,
O::Hessian: Clone,
O::Jacobian: Clone,
O::Jacobian: Clone,
O::Param: Clone,
O::Float: Clone,
impl<O: Debug + ArgminOp> Debug for IterState<O> where
O::Param: Debug,
O::Param: Debug,
O::Param: Debug,
O::Param: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Param: Debug,
O::Param: Debug,
O::Hessian: Debug,
O::Hessian: Debug,
O::Jacobian: Debug,
O::Jacobian: Debug,
O::Param: Debug,
O::Float: Debug,
impl<O: Debug + ArgminOp> Debug for IterState<O> where
O::Param: Debug,
O::Param: Debug,
O::Param: Debug,
O::Param: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Float: Debug,
O::Param: Debug,
O::Param: Debug,
O::Hessian: Debug,
O::Hessian: Debug,
O::Jacobian: Debug,
O::Jacobian: Debug,
O::Param: Debug,
O::Float: Debug,
impl<'de, O: ArgminOp> Deserialize<'de> for IterState<O> where
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
impl<'de, O: ArgminOp> Deserialize<'de> for IterState<O> where
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Param: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
O::Float: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl<O> RefUnwindSafe for IterState<O> where
<O as ArgminOp>::Float: RefUnwindSafe,
<O as ArgminOp>::Hessian: RefUnwindSafe,
<O as ArgminOp>::Jacobian: RefUnwindSafe,
<O as ArgminOp>::Param: RefUnwindSafe,
impl<O> Send for IterState<O> where
<O as ArgminOp>::Float: Send,
<O as ArgminOp>::Hessian: Send,
<O as ArgminOp>::Jacobian: Send,
<O as ArgminOp>::Param: Send,
impl<O> Sync for IterState<O> where
<O as ArgminOp>::Float: Sync,
<O as ArgminOp>::Hessian: Sync,
<O as ArgminOp>::Jacobian: Sync,
<O as ArgminOp>::Param: Sync,
impl<O> Unpin for IterState<O> where
<O as ArgminOp>::Float: Unpin,
<O as ArgminOp>::Hessian: Unpin,
<O as ArgminOp>::Jacobian: Unpin,
<O as ArgminOp>::Param: Unpin,
impl<O> UnwindSafe for IterState<O> where
<O as ArgminOp>::Float: UnwindSafe,
<O as ArgminOp>::Hessian: UnwindSafe,
<O as ArgminOp>::Jacobian: UnwindSafe,
<O as ArgminOp>::Param: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V