TMB Documentation  v1.9.11
Public Attributes | List of all members
newton::newton_config Struct Reference

Newton configuration parameters. More...

#include <newton.hpp>

Public Attributes

double grad_tol
 Convergence tolerance of max gradient component.
 
bool lowrank
 Detect an additional low rank contribution in sparse case?
 
int max_reject
 Max number of allowed rejections.
 
int maxit
 Max number of iterations.
 
double mgcmax
 Consider initial guess as invalid if the max gradient component is larger than this number.
 
int ok_exit_if_pdhess
 max_reject exceeded is convergence success provided that Hessian is PD?
 
bool on_failure_give_warning
 Behaviour on convergence failure: Throw warning ?
 
bool on_failure_return_nan
 Behaviour on convergence failure: Report nan-solution ?
 
double power
 Internal parameter controlling ustep updates.
 
double signif_abs_reduction
 Consider this absolute reduction 'significant'.
 
double signif_rel_reduction
 Consider this relative reduction 'significant'.
 
bool simplify
 Detect and apply 'dead gradients' simplification.
 
bool SPA
 Modify Laplace approximation to return saddlepoint approximation? More...
 
bool sparse
 Use sparse as opposed to dense hessian ? More...
 
double step_tol
 Convergence tolerance of consequtive function evaluations (not yet used)
 
double tol10
 Convergence tolerance of consequtive function evaluations (not yet used)
 
int trace
 Print trace info?
 
double u0
 Internal parameter controlling ustep updates.
 
double ustep
 Initial step size between 0 and 1.
 

Detailed Description

Newton configuration parameters.

Examples:
TMBad/spa_gauss.cpp.

Definition at line 637 of file newton.hpp.

Member Data Documentation

§ SPA

bool newton::newton_config::SPA

Modify Laplace approximation to return saddlepoint approximation?

For this to work the inner objective function must return the negative log MGF rather than density

Examples:
TMBad/spa_gauss.cpp.

Definition at line 687 of file newton.hpp.

§ sparse

bool newton::newton_config::sparse

Use sparse as opposed to dense hessian ?

Using sparse=true for problem that is actually dense have been observed to results in a slowdown factor of approximately 3. In addition, the dense factorization can be accelerated using the EIGEN_USE_MKL_ALL preprocessor flag. On the other hand, using sparse=false (dense) for a problem that is actually sparse can result in much bigger slowdowns.

Examples:
TMBad/spa_gauss.cpp.

Definition at line 669 of file newton.hpp.


The documentation for this struct was generated from the following file:
License: GPL v2