tinyopt 700
Tinyopt, a lightweight, header only optimization library
Loading...
Searching...
No Matches
tinyopt::Options Struct Reference

Classes

struct  Optimization
struct  Hessian
struct  CostScaling
struct  StopCriteria
struct  LogOptions
struct  LM
struct  GD
struct  CG
struct  DL
struct  BFGS
struct  LBFGS

Public Member Functions

 Options (Solver type=Solver::LevenbergMarquardt)

Public Attributes

LinearSolverMethod linear_solver = LinearSolverMethod::LDLT
 Linear system method. LDLT is enabled by default; methods require their CMake option.
double svd_relative_threshold = 0.0
 Relative singular-value cutoff for SVD; 0 uses Eigen's default threshold.
struct tinyopt::Options::LM lm
Optimization options
struct tinyopt::Options::Optimization opt
Hessian Properties
struct tinyopt::Options::Hessian hessian
Cost scaling options (mostly for NLLS solvers really)
struct tinyopt::Options::CostScaling cost
Stop criteria
struct tinyopt::Options::StopCriteria stop
Logging Options
struct tinyopt::Options::LogOptions log
Gradient Descent options
struct tinyopt::Options::GD gd
struct tinyopt::Options::CG cg
struct tinyopt::Options::DL dl
struct tinyopt::Options::BFGS bfgs
struct tinyopt::Options::LBFGS lbfgs

Solver Type

enum  Solver {
  LevenbergMarquardt = 0 , GaussNewton , GradientDescent , ConjugateGradient ,
  DogLeg , BFGS , LBFGS
}
Solver solver_type = Solver::LevenbergMarquardt
 Which solver to use. Default is LevenbergMarquardt for NLLS problems.

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