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_simplex_set              (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_nms_parameters *params,
                                                         PHOEBE_vector *x,
                                                         double *size,
                                                         const PHOEBE_vector *step_size);
int                 phoebe_nms_simplex_iterate          (PHOEBE_nms_simplex *simplex,
                                                         double (fPHOEBE_vector *, PHOEBE_nms_parameters *) (),
                                                         PHOEBE_nms_parameters *params,
                                                         PHOEBE_vector *x,
                                                         double *size,
                                                         double *fval);

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_vector *center;                                  /* simplex center */
	PHOEBE_vector *delta;                                     /* current step */
	PHOEBE_vector *xmc;                              /* x-center on workspace */
	double         S2;                                                      /**/
} PHOEBE_nms_simplex;


PHOEBE_nms_parameters

typedef struct {
	PHOEBE_array *qualifiers;           /* A list of unconstrained qualifiers */
	PHOEBE_vector *l_bounds;              /* Lower parameter value boundaries */
	PHOEBE_vector *u_bounds;              /* Upper parameter value boundaries */
	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? */
	PHOEBE_vector *levels;
	                  /* If levels are computed, their values are stored here */
	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_simplex_set ()

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

simplex :

f :

params :

x :

size :

step_size :

Returns :


phoebe_nms_simplex_iterate ()

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

simplex :

f :

params :

x :

size :

fval :

Returns :