#include "cddefines.h"
#include "optimize.h"
Go to the source code of this file.
Data Structures | |
struct | t_usubc |
struct | t_isubc |
Defines | |
#define | S(I_, J_) (*(s+(I_)*(ns)+(J_))) |
#define | S(I_, J_) (*(s+(I_)*(ns)+(J_))) |
#define | S(I_, J_) (*(s+(I_)*(ns)+(J_))) |
Functions | |
STATIC void | calcc (long, realnum *, long, long, int, realnum[]) |
STATIC double | cdasum (long, realnum[], long) |
STATIC void | cdaxpy (long, double, realnum[], long, realnum[], long) |
STATIC void | cdcopy (long, realnum[], long, realnum[], long) |
STATIC void | csscal (long, double, realnum[], long) |
STATIC double | dist (long, realnum[], realnum[]) |
STATIC void | evalf (long, long[], realnum[], long, realnum[], realnum *, long *) |
STATIC void | fstats (double, long, int) |
STATIC void | newpt (long, double, realnum[], realnum[], int, realnum[], int *) |
STATIC void | order (long, realnum[], long *, long *, long *) |
STATIC void | partx (long, long[], realnum[], long *, long[]) |
STATIC void | setstp (long, long, realnum[], realnum[]) |
STATIC void | simplx (long, realnum[], long, long[], long, int, realnum[], realnum *, long *, realnum *, realnum[], long *) |
STATIC void | sortd (long, realnum[], long[]) |
STATIC void | start (long, realnum[], realnum[], long, long[], realnum *, int *) |
STATIC void | subopt (long) |
void | optimize_subplex (long int n, double tol, long int maxnfe, long int mode, realnum scale[], realnum x[], realnum *fx, long int *nfe, realnum work[], long int iwork[], long int *iflag) |
STATIC void | subopt (long int n) |
STATIC void | cdcopy (long int n, realnum dx[], long int incx, realnum dy[], long int incy) |
STATIC void | evalf (long int ns, long int ips[], realnum xs[], long int n, realnum x[], realnum *sfx, long int *nfe) |
STATIC void | setstp (long int nsubs, long int n, realnum deltax[], realnum step[]) |
STATIC void | sortd (long int n, realnum xkey[], long int ix[]) |
STATIC void | partx (long int n, long int ip[], realnum absdx[], long int *nsubs, long int nsvals[]) |
STATIC void | simplx (long int n, realnum step[], long int ns, long int ips[], long int maxnfe, int cmode, realnum x[], realnum *fx, long int *nfe, realnum *s, realnum fs[], long int *iflag) |
STATIC void | fstats (double fx, long int ifxwt, int reset) |
STATIC double | cdasum (long int n, realnum dx[], long int incx) |
STATIC void | csscal (long int n, double da, realnum dx[], long int incx) |
STATIC void | start (long int n, realnum x[], realnum step[], long int ns, long int ips[], realnum *s, int *small) |
STATIC void | order (long int npts, realnum fs[], long int *il, long int *is, long int *ih) |
STATIC double | dist (long int n, realnum x[], realnum y[]) |
STATIC void | calcc (long int ns, realnum *s, long int ih, long int inew, int updatc, realnum c[]) |
STATIC void | newpt (long int ns, double coef, realnum xbase[], realnum xold[], int IntNew, realnum xnew[], int *small) |
STATIC void | cdaxpy (long int n, double da, realnum dx[], long int incx, realnum dy[], long int incy) |
Variables | |
struct t_usubc | usubc |
struct t_isubc | isubc |
#define S | ( | I_, | |||
J_ | ) | (*(s+(I_)*(ns)+(J_))) |
Definition at line 1835 of file optimize_subplx.cpp.
#define S | ( | I_, | |||
J_ | ) | (*(s+(I_)*(ns)+(J_))) |
Definition at line 1835 of file optimize_subplx.cpp.
#define S | ( | I_, | |||
J_ | ) | (*(s+(I_)*(ns)+(J_))) |
Definition at line 1835 of file optimize_subplx.cpp.
Referenced by Badnell_rec_init(), calcc(), he_1trans(), HeCSInterp(), helike_quantum_defect(), HydroCSInterp(), iso_assign_quantum_numbers(), iso_cascade(), lgCheckMonitors(), lines(), lines_helium(), Opacity_iso_photo_cs(), read_SH98_He1_cross_sections(), SanityCheckBegin(), simplx(), and start().
Definition at line 1837 of file optimize_subplx.cpp.
References cdaxpy(), cdcopy(), csscal(), DEBUG_ENTRY, and S.
STATIC double cdasum | ( | long int | n, | |
realnum | dx[], | |||
long int | incx | |||
) |
Definition at line 1443 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
STATIC void cdaxpy | ( | long int | n, | |
double | da, | |||
realnum | dx[], | |||
long int | incx, | |||
realnum | dy[], | |||
long int | incy | |||
) |
Definition at line 2011 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
Definition at line 622 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
Referenced by calcc(), optimize_subplex(), simplx(), and start().
STATIC void csscal | ( | long int | n, | |
double | da, | |||
realnum | dx[], | |||
long int | incx | |||
) |
Definition at line 1515 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
Definition at line 1763 of file optimize_subplx.cpp.
References DEBUG_ENTRY, and POW2.
Referenced by phymir_state< X, Y, NP, NSTR >::lgConvergedRestart(), and simplx().
STATIC void evalf | ( | long int | ns, | |
long int | ips[], | |||
realnum | xs[], | |||
long int | n, | |||
realnum | x[], | |||
realnum * | sfx, | |||
long int * | nfe | |||
) |
Definition at line 696 of file optimize_subplx.cpp.
References DEBUG_ENTRY, t_isubc::fbonus, fstats(), t_usubc::ftest, t_usubc::fxstat, t_usubc::ifxsw, t_usubc::initx, t_isubc::IntNew, t_usubc::irepl, isubc, t_usubc::minf, t_usubc::newx, optimize_func(), t_isubc::sfbest, and usubc.
Referenced by optimize_subplex(), and simplx().
STATIC void fstats | ( | double | fx, | |
long int | ifxwt, | |||
int | reset | |||
) |
Definition at line 1379 of file optimize_subplx.cpp.
References DEBUG_ENTRY, t_usubc::fxstat, MAX2, MAX3, MIN2, t_usubc::nfxe, POW2, and usubc.
STATIC void fstats | ( | double | , | |
long | , | |||
int | ||||
) |
Referenced by evalf().
STATIC void newpt | ( | long int | ns, | |
double | coef, | |||
realnum | xbase[], | |||
realnum | xold[], | |||
int | IntNew, | |||
realnum | xnew[], | |||
int * | small | |||
) |
Definition at line 1916 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
Referenced by simplx().
void optimize_subplex | ( | long int | n, | |
double | tol, | |||
long int | maxnfe, | |||
long int | mode, | |||
realnum | scale[], | |||
realnum | x[], | |||
realnum * | fx, | |||
long int * | nfe, | |||
realnum | work[], | |||
long int | iwork[], | |||
long int * | iflag | |||
) |
optimize_subplex is the main driver, and only exposed, routine for the cowan downhill simplex routine
n | ||
tol | ||
maxnfe | ||
mode | ||
scale[] | ||
x[] | ||
*fx | ||
*nfe | ||
work[] | ||
iwork[] | ||
*iflag |
Definition at line 64 of file optimize_subplx.cpp.
References t_usubc::alpha, t_usubc::beta, t_usubc::bonus, cdcopy(), DEBUG_ENTRY, t_usubc::delta, evalf(), t_isubc::fbonus, fp_equal(), t_usubc::fstop, t_usubc::ftest, t_usubc::gamma, t_usubc::ifxsw, t_usubc::initx, t_isubc::IntNew, t_usubc::irepl, isubc, MAX2, t_usubc::minf, t_usubc::nfstop, t_usubc::nfxe, t_usubc::nsmax, t_usubc::nsmin, t_usubc::omega, partx(), POW2, t_usubc::psi, setstp(), t_isubc::sfstop, simplx(), sortd(), subopt(), and usubc.
Referenced by lgOptimize_do().
STATIC void order | ( | long int | npts, | |
realnum | fs[], | |||
long int * | il, | |||
long int * | is, | |||
long int * | ih | |||
) |
Definition at line 1682 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
STATIC void partx | ( | long int | n, | |
long int | ip[], | |||
realnum | absdx[], | |||
long int * | nsubs, | |||
long int | nsvals[] | |||
) |
Definition at line 989 of file optimize_subplx.cpp.
References DEBUG_ENTRY, MIN2, nleft, t_usubc::nsmax, t_usubc::nsmin, and usubc.
STATIC void partx | ( | long | , | |
long | [], | |||
realnum | [], | |||
long * | , | |||
long | [] | |||
) |
Referenced by optimize_subplex().
Definition at line 825 of file optimize_subplx.cpp.
References cdasum(), csscal(), DEBUG_ENTRY, MAX2, MIN2, t_usubc::omega, t_usubc::psi, sign(), and usubc.
Referenced by optimize_subplex().
STATIC void simplx | ( | long int | n, | |
realnum | step[], | |||
long int | ns, | |||
long int | ips[], | |||
long int | maxnfe, | |||
int | cmode, | |||
realnum | x[], | |||
realnum * | fx, | |||
long int * | nfe, | |||
realnum * | s, | |||
realnum | fs[], | |||
long int * | iflag | |||
) |
Definition at line 1107 of file optimize_subplx.cpp.
References t_usubc::alpha, t_usubc::beta, calcc(), cdcopy(), DEBUG_ENTRY, t_usubc::delta, dist(), evalf(), fe, t_usubc::gamma, t_isubc::IntNew, t_usubc::irepl, isubc, MIN2, newpt(), t_usubc::nfstop, t_usubc::nfxe, order(), t_usubc::psi, S, t_isubc::sfbest, t_isubc::sfstop, start(), and usubc.
STATIC void simplx | ( | long | , | |
realnum | [], | |||
long | , | |||
long | [], | |||
long | , | |||
int | , | |||
realnum | [], | |||
realnum * | , | |||
long * | , | |||
realnum * | , | |||
realnum | [], | |||
long * | ||||
) |
Referenced by optimize_subplex().
STATIC void sortd | ( | long int | n, | |
realnum | xkey[], | |||
long int | ix[] | |||
) |
Definition at line 908 of file optimize_subplx.cpp.
References DEBUG_ENTRY.
STATIC void sortd | ( | long | , | |
realnum | [], | |||
long | [] | |||
) |
Referenced by optimize_subplex().
STATIC void start | ( | long int | n, | |
realnum | x[], | |||
realnum | step[], | |||
long int | ns, | |||
long int | ips[], | |||
realnum * | s, | |||
int * | small | |||
) |
Definition at line 1594 of file optimize_subplx.cpp.
References cdcopy(), DEBUG_ENTRY, and S.
Referenced by simplx().
STATIC void subopt | ( | long int | n | ) |
Definition at line 449 of file optimize_subplx.cpp.
References t_usubc::alpha, t_usubc::beta, t_usubc::bonus, DEBUG_ENTRY, t_usubc::delta, t_usubc::gamma, t_usubc::ifxsw, t_usubc::irepl, MIN2, t_usubc::minf, t_usubc::nfstop, t_usubc::nsmax, t_usubc::nsmin, t_usubc::omega, t_usubc::psi, and usubc.
STATIC void subopt | ( | long | ) |
Referenced by optimize_subplex().
Referenced by evalf(), optimize_subplex(), and simplx().