[DEMONSTRATION INPUT FILE - REPLACE THIS LINE BY ONE-LINE TITLE] nvert= (ENTER-VALUE-HERE) nparm= (ENTER-VALUE-HERE) ndata= (ENTER-VALUE-HERE) ndatval= (ENTER-VALUE-HERE) iter= 0 maxquad_skip= 4 exit_test= 1.E-8 prt_cycle= 30 quad_test= 30 starting-simplex[nvert][nparm=list_starting_parameter_values]= [REPLACE THIS LINE BY NVERT SETS OF NPARM VALUES] parm-bounds[nparm][low_bound,high_bound]= [REPLACE THIS LINE BY NPARM PAIRS OF LOW-BOUND HIGH-BOUND VALUES] data[ndata][ndatval=y,yc,w,list_independent_variable_values]= [REPLACE THIS LINE BY NDATA SETS OF NDATVAL VALUES] verbose= (ENTER-VALUE-HERE: 2 or 3) ----------------------end of data------------------------------- Comments: the first line is a one-line title; the one-word (there can be no white space within them) mnemonic identifiers ("data[ndata][ndatval=y,yc,w,...]=", "nvert=", etc.) must all be present; the identifier must be separated by white space from the value(s) following for it; the order of presentation of the identifier-value sets is fixed; the number of values read after "simplex.." is x ; there are vertices of the simplex, one more than the number of "free" parameters; there are values given for each vertex, each value being an estimate of a parameter value; not all of the parameters need be "free"; a "fixed" parameter has the same value for all vertices; for a parameter to be "free", at least one vertex must differ from other vertices in the value for that parameter; the high and low values for a "free" parameter, comparing all vertices, should determine a range that includes the best-fit value of that parameter; the fitting procedure may be able to find a best-fit value outside the initial range. the number of values read in the set of values after "data.." is x ; is generally greater than or equal to 4, because the aggregate must store for each data point values for y(observed), y(calculated), the statistical weight, and one or more independent variables; if the function minimized does not depend on data, set both ndata and ndatval to zero; in this case the number of degrees of freedom is set to one by resetting ndata to nvert; verbose, the last entry, determines the amount of output: 2 = minimal, 3 = maximal. descriptive comments (like these) can be placed at the end of the data file. NOTE: set prt_cycle and quad_test at 30, so that every 30 iterations the intermediate results are stored on disk and selectively a quadratic fitting is carried out, to speed convergence; set maxquad_skip nonzero; then if a quadratic fit fails, the next one or more quadratic fit attempts are passed over; the number passed over is incremented at each successive failure, up to maxquad_skip; a successful quadratic fit resets the skip counter; set iter, the starting iteration number, at 0; if iter is non-zero, exit is forced after iter iterations; set exit_test tight; the minimization exits when rms deviation/mean value of function at vertices < exit_test; if the rms deviation falls as fast as the mean, then set exit_test < zero, in which case exit is at rms deviation of vertex values < abs(exit_test) on exit from the minimization, the quadratic approximation gives the final estimates of the standard deviations of the parameters;