phoebe_nms

phoebe_nms

Synopsis

                    PHOEBE_nms_simplex;
                    PHOEBE_nms_parameters;
PHOEBE_nms_simplex* phoebe_nms_simplex_new              ();
int                 phoebe_nms_simplex_alloc            (PHOEBE_nms_simplex *simplex,
                                                         int n);
int                 phoebe_nms_simplex_free             (PHOEBE_nms_simplex *simplex);
int                 phoebe_nms_set                      (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_vector *x,
                                                         PHOEBE_nms_parameters *params,
                                                         double *size,
                                                         PHOEBE_vector *step_size);
int                 phoebe_nms_iterate                  (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_vector *x,
                                                         PHOEBE_nms_parameters *params,
                                                         double *size,
                                                         double *fval);
double              phoebe_nms_size                     (PHOEBE_nms_simplex *simplex);
double              phoebe_nms_move_corner              (double coeff,
                                                         PHOEBE_nms_simplex *simplex,
                                                         int corner,
                                                         PHOEBE_vector *xc,
                                                         PHOEBE_nms_parameters *params,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) ());
int                 phoebe_nms_contract_by_best         (PHOEBE_nms_simplex *simplex,
                                                         int best,
                                                         PHOEBE_vector *xc,
                                                         PHOEBE_nms_parameters *params,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) ());
int                 phoebe_nms_calc_center              (const PHOEBE_nms_simplex *simplex,
                                                         PHOEBE_vector *mp);

Description

Details

PHOEBE_nms_simplex

typedef struct {
	PHOEBE_matrix *corners;               /* simplex corner points            */
	PHOEBE_vector *values;                /* function values at corner points */
	PHOEBE_vector *ws1;                   /* workspace 1                      */
	PHOEBE_vector *ws2;                   /* workspace 2                      */
} PHOEBE_nms_simplex;


PHOEBE_nms_parameters

typedef struct {
	PHOEBE_array *qualifiers;           /* A list of unconstrained qualifiers */
	int lcno;                          /* The number of observed light curves */
	int rvno;                             /* The number of observed RV curves */
	PHOEBE_curve **obs;             /* An array of all transformed LC/RV data */
	PHOEBE_vector *chi2s;      /* A vector of individual passband chi2 values */
	PHOEBE_vector *weights;        /* A vector of individual passband weights */
	bool autolevels;              /* Should levels be computed automatically? */
	bool autogamma;       /* Should gamma velocity be computed automatically? */
	bool rv1;
	bool rv2;
	double *average;
} PHOEBE_nms_parameters;


phoebe_nms_simplex_new ()

PHOEBE_nms_simplex* phoebe_nms_simplex_new              ();

Returns :


phoebe_nms_simplex_alloc ()

int                 phoebe_nms_simplex_alloc            (PHOEBE_nms_simplex *simplex,
                                                         int n);

simplex :

n :

Returns :


phoebe_nms_simplex_free ()

int                 phoebe_nms_simplex_free             (PHOEBE_nms_simplex *simplex);

simplex :

Returns :


phoebe_nms_set ()

int                 phoebe_nms_set                      (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_vector *x,
                                                         PHOEBE_nms_parameters *params,
                                                         double *size,
                                                         PHOEBE_vector *step_size);

simplex :

f :

x :

params :

size :

step_size :

Returns :


phoebe_nms_iterate ()

int                 phoebe_nms_iterate                  (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_vector *x,
                                                         PHOEBE_nms_parameters *params,
                                                         double *size,
                                                         double *fval);

simplex :

f :

x :

params :

size :

fval :

Returns :


phoebe_nms_size ()

double              phoebe_nms_size                     (PHOEBE_nms_simplex *simplex);

simplex :

Returns :


phoebe_nms_move_corner ()

double              phoebe_nms_move_corner              (double coeff,
                                                         PHOEBE_nms_simplex *simplex,
                                                         int corner,
                                                         PHOEBE_vector *xc,
                                                         PHOEBE_nms_parameters *params,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) ());

coeff :

simplex :

corner :

xc :

params :

f :

Returns :


phoebe_nms_contract_by_best ()

int                 phoebe_nms_contract_by_best         (PHOEBE_nms_simplex *simplex,
                                                         int best,
                                                         PHOEBE_vector *xc,
                                                         PHOEBE_nms_parameters *params,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) ());

simplex :

best :

xc :

params :

f :

Returns :


phoebe_nms_calc_center ()

int                 phoebe_nms_calc_center              (const PHOEBE_nms_simplex *simplex,
                                                         PHOEBE_vector *mp);

simplex :

mp :

Returns :