Bayeux  3.4.1
Core Foundation library for SuperNEMO
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
mygsl::one_dimensional_root_solver Class Reference

One dimensional root solver algorithm. More...

#include <bayeux/mygsl/one_dimensional_root_finding.h>

Classes

class  at_step_action
 
struct  default_step_action
 

Public Types

enum  mode_t { MODE_NULL = 0, MODE_F = 1, MODE_FDF = 2 }
 

Public Member Functions

void unset_step_action ()
 
void set_default_step_action ()
 
void set_step_action (at_step_action &action_)
 
bool is_fsolver () const
 
bool is_fdfsolver () const
 
bool is_initialized () const
 
const best_valueget_root () const
 
std::string get_name () const
 
void set_debug (bool debug_=true)
 
bool is_debug () const
 
size_t get_iter () const
 
size_t get_max_iter () const
 
double get_epsabs () const
 
bool is_converged () const
 
 one_dimensional_root_solver (bool debug_=false)
 
virtual ~one_dimensional_root_solver ()
 
void init (const i_unary_function &sys_, const std::string &method_=BRENT_METHOD_LABEL)
 
void init (const i_unary_function_with_derivative &sys_, const std::string &method_=STEFFENSON_METHOD_LABEL)
 
void reset ()
 
int solve (double epsabs_, double a_, double b_)
 

Static Public Member Functions

static double g_function (double x_, void *params_)
 
static double g_dfunction (double x_, void *params_)
 
static void g_fdfunction (double x_, void *params_, double *y_, double *dy_)
 
static best_value solve (const i_unary_function &sys_, double epsabs_, double a_, double b_, const std::string &method_=BRENT_METHOD_LABEL)
 
static best_value solve (const i_unary_function_with_derivative &sys_, double epsabs_, double a_, double b_, const std::string &method_=STEFFENSON_METHOD_LABEL)
 

Static Public Attributes

static const std::string BISECTION_METHOD_LABEL
 
static const std::string FALSEPOS_METHOD_LABEL
 
static const std::string BRENT_METHOD_LABEL
 
static const std::string NEWTON_METHOD_LABEL
 
static const std::string SECANT_METHOD_LABEL
 
static const std::string STEFFENSON_METHOD_LABEL
 
static const size_t DEFAULT_MAX_ITER
 
static const double DEFAULT_EPSABS
 

Protected Member Functions

void _at_step_hook (int status_, size_t iter_, double a_, double b_, double c_)
 

Detailed Description

One dimensional root solver algorithm.

Member Enumeration Documentation

◆ mode_t

Enumerator
MODE_NULL 
MODE_F 
MODE_FDF 

Constructor & Destructor Documentation

◆ one_dimensional_root_solver()

mygsl::one_dimensional_root_solver::one_dimensional_root_solver ( bool  debug_ = false)

◆ ~one_dimensional_root_solver()

virtual mygsl::one_dimensional_root_solver::~one_dimensional_root_solver ( )
virtual

Member Function Documentation

◆ _at_step_hook()

void mygsl::one_dimensional_root_solver::_at_step_hook ( int  status_,
size_t  iter_,
double  a_,
double  b_,
double  c_ 
)
protected

◆ g_dfunction()

static double mygsl::one_dimensional_root_solver::g_dfunction ( double  x_,
void *  params_ 
)
static

◆ g_fdfunction()

static void mygsl::one_dimensional_root_solver::g_fdfunction ( double  x_,
void *  params_,
double *  y_,
double *  dy_ 
)
static

◆ g_function()

static double mygsl::one_dimensional_root_solver::g_function ( double  x_,
void *  params_ 
)
static

◆ get_epsabs()

double mygsl::one_dimensional_root_solver::get_epsabs ( ) const

◆ get_iter()

size_t mygsl::one_dimensional_root_solver::get_iter ( ) const

◆ get_max_iter()

size_t mygsl::one_dimensional_root_solver::get_max_iter ( ) const

◆ get_name()

std::string mygsl::one_dimensional_root_solver::get_name ( ) const

◆ get_root()

const best_value& mygsl::one_dimensional_root_solver::get_root ( ) const

◆ init() [1/2]

void mygsl::one_dimensional_root_solver::init ( const i_unary_function sys_,
const std::string &  method_ = BRENT_METHOD_LABEL 
)

◆ init() [2/2]

void mygsl::one_dimensional_root_solver::init ( const i_unary_function_with_derivative sys_,
const std::string &  method_ = STEFFENSON_METHOD_LABEL 
)

◆ is_converged()

bool mygsl::one_dimensional_root_solver::is_converged ( ) const

◆ is_debug()

bool mygsl::one_dimensional_root_solver::is_debug ( ) const

◆ is_fdfsolver()

bool mygsl::one_dimensional_root_solver::is_fdfsolver ( ) const

◆ is_fsolver()

bool mygsl::one_dimensional_root_solver::is_fsolver ( ) const

◆ is_initialized()

bool mygsl::one_dimensional_root_solver::is_initialized ( ) const

◆ reset()

void mygsl::one_dimensional_root_solver::reset ( )

◆ set_debug()

void mygsl::one_dimensional_root_solver::set_debug ( bool  debug_ = true)

◆ set_default_step_action()

void mygsl::one_dimensional_root_solver::set_default_step_action ( )

◆ set_step_action()

void mygsl::one_dimensional_root_solver::set_step_action ( at_step_action action_)

◆ solve() [1/3]

int mygsl::one_dimensional_root_solver::solve ( double  epsabs_,
double  a_,
double  b_ 
)

◆ solve() [2/3]

static best_value mygsl::one_dimensional_root_solver::solve ( const i_unary_function sys_,
double  epsabs_,
double  a_,
double  b_,
const std::string &  method_ = BRENT_METHOD_LABEL 
)
static

◆ solve() [3/3]

static best_value mygsl::one_dimensional_root_solver::solve ( const i_unary_function_with_derivative sys_,
double  epsabs_,
double  a_,
double  b_,
const std::string &  method_ = STEFFENSON_METHOD_LABEL 
)
static

◆ unset_step_action()

void mygsl::one_dimensional_root_solver::unset_step_action ( )

Member Data Documentation

◆ BISECTION_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::BISECTION_METHOD_LABEL
static

◆ BRENT_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::BRENT_METHOD_LABEL
static

◆ DEFAULT_EPSABS

const double mygsl::one_dimensional_root_solver::DEFAULT_EPSABS
static

◆ DEFAULT_MAX_ITER

const size_t mygsl::one_dimensional_root_solver::DEFAULT_MAX_ITER
static

◆ FALSEPOS_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::FALSEPOS_METHOD_LABEL
static

◆ NEWTON_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::NEWTON_METHOD_LABEL
static

◆ SECANT_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::SECANT_METHOD_LABEL
static

◆ STEFFENSON_METHOD_LABEL

const std::string mygsl::one_dimensional_root_solver::STEFFENSON_METHOD_LABEL
static

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