Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Functions
numeric::nls Namespace Reference

Classes

struct  lm_control_struct
 
struct  lm_status_struct
 

Functions

void lm_printout_std (int n_par, const double *par, int m_dat, const void *, const double *fvec, int printflags, int iflag, int iter, int nfev)
 
void lmmin (int n_par, double *par, int m_dat, const void *data, void(*evaluate)(const double *par, int m_dat, const void *data, double *fvec, int *info), lm_status_struct *status, void(*printout)(int n_par, const double *par, int m_dat, const void *data, const double *fvec, int printflags, int iflag, int iter, int nfev))
 
void lm_lmpar (int n, double *r, int ldr, int *ipvt, double *diag, double *qtb, double delta, double *par, double *x, double *sdiag, double *aux, double *xdi)
 
void lm_qrfac (int m, int n, double *a, int pivot, int *ipvt, double *rdiag, double *acnorm, double *wa)
 
void lm_qrsolv (int n, double *r, int ldr, int *ipvt, double *diag, double *qtb, double *x, double *sdiag, double *wa)
 
void lm_lmdif (int m, int n, double *x, double *fvec, double ftol, double xtol, double gtol, int maxfev, double epsfcn, double *diag, int mode, double factor, int *info, int *nfev, double *fjac, int *ipvt, double *qtf, double *wa1, double *wa2, double *wa3, double *wa4, void(*evaluate)(const double *par, int m_dat, const void *data, double *fvec, int *info), void(*printout)(int n_par, const double *par, int m_dat, const void *data, const double *fvec, int printflags, int iflag, int iter, int nfev), int printflags, const void *data)
 
double lm_enorm (int n, const double *x)
 

Function Documentation

double numeric::nls::lm_enorm ( int  n,
const double x 
)

Definition at line 1255 of file lmmin.cc.

References LM_SQRT_DWARF, LM_SQRT_GIANT, and SQR.

Referenced by lm_lmdif(), lm_lmpar(), lm_printout_std(), lm_qrfac(), and lmmin().

void numeric::nls::lm_lmdif ( int  m,
int  n,
double x,
double fvec,
double  ftol,
double  xtol,
double  gtol,
int  maxfev,
double  epsfcn,
double diag,
int  mode,
double  factor,
int info,
int nfev,
double fjac,
int ipvt,
double qtf,
double wa1,
double wa2,
double wa3,
double wa4,
void(*)(const double *par, int m_dat, const void *data, double *fvec, int *info evaluate,
void(*)(int n_par, const double *par, int m_dat, const void *data, const double *fvec, int printflags, int iflag, int iter, int nfev)  printout,
int  printflags,
const void *  data 
)
void numeric::nls::lm_lmpar ( int  n,
double r,
int  ldr,
int ipvt,
double diag,
double qtb,
double  delta,
double par,
double x,
double sdiag,
double aux,
double xdi 
)

Definition at line 677 of file lmmin.cc.

References LM_DWARF, lm_enorm(), lm_qrsolv(), MAX, MIN, and numeric::sum().

Referenced by lm_lmdif().

void numeric::nls::lm_printout_std ( int  n_par,
const double par,
int  m_dat,
const void *  ,
const double fvec,
int  printflags,
int  iflag,
int  iter,
int  nfev 
)

Definition at line 43 of file lmmin.cc.

References lm_enorm().

void numeric::nls::lm_qrfac ( int  m,
int  n,
double a,
int  pivot,
int ipvt,
double rdiag,
double acnorm,
double wa 
)

Definition at line 924 of file lmmin.cc.

References lm_enorm(), LM_MACHEP, MAX, MIN, SQR, and numeric::sum().

Referenced by lm_lmdif().

void numeric::nls::lm_qrsolv ( int  n,
double r,
int  ldr,
int ipvt,
double diag,
double qtb,
double x,
double sdiag,
double wa 
)

Definition at line 1078 of file lmmin.cc.

References SQR, and numeric::sum().

Referenced by lm_lmpar().

void numeric::nls::lmmin ( int  n_par,
double par,
int  m_dat,
const void *  data,
void(*)(const double *par, int m_dat, const void *data, double *fvec, int *info evaluate,
lm_status_struct *  status,
void(*)(int n_par, const double *par, int m_dat, const void *data, const double *fvec, int printflags, int iflag, int iter, int nfev)  printout 
)