Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

psMinimizePowell.h

Go to the documentation of this file.
00001 /** @file  psMinimizePowell.c
00002  *  \brief basic minimization functions
00003  *  @ingroup Math
00004  *
00005  *  This file will contain function prototypes for various Powell
00006  *  chi-squared minimization routines.
00007  *
00008  *  @author GLG, MHPCC
00009  *
00010  *  @version $Revision: 1.3 $ $Name: rel12 $
00011  *  @date $Date: 2006/02/07 23:14:21 $
00012  *
00013  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
00014  *
00015  */
00016 
00017 #ifndef PS_MINIMIZE_POWELL_H
00018 #define PS_MINIMIZE_POWELL_H
00019 
00020 /** \file psMinimizePowell.h
00021  *  \brief minimization operations
00022  *  \ingroup Stats
00023  */
00024 /** \addtogroup Stats
00025  *  \{
00026  */
00027 
00028 #include "psMinimizeLMM.h"
00029 #include "psVector.h"
00030 #include "psMemory.h"
00031 #include "psArray.h"
00032 #include "psImage.h"
00033 #include "psMatrix.h"
00034 #include "psPolynomial.h"
00035 #include "psSpline.h"
00036 #include "psStats.h"
00037 #include "psTrace.h"
00038 #include "psError.h"
00039 #include "psConstants.h"
00040 
00041 /** Specifies the format of a user-defined function that the general Powell
00042  *  minimizer routine will accept.
00043  *
00044  *  @return float:   the single float value of the function given the parameters
00045  *      and coordinate vectors.
00046 */
00047 typedef
00048 float (*psMinimizePowellFunc)(
00049     const psVector *params,            ///< Parameters used to evaluate the function
00050     const psArray *coords              ///< Coordinates at which to evaluate
00051 );
00052 
00053 /** Minimizes a specified function based on the Powell method.
00054  *
00055  *  @return bool:   True if successful.
00056  */
00057 bool psMinimizePowell(
00058     psMinimization *min,               ///< Minimization specification
00059     psVector *params,                  ///< "Best guess" for parameters that minimize func
00060     const psVector *paramMask,         ///< Parameters to be held fixed by minimizer
00061     const psArray *coords,             ///< Measurement coordinates
00062     psMinimizePowellFunc func          ///< Specified function
00063 );
00064 
00065 /** Specifies the format of a user-defined function that the general Powell chi-
00066  *  squared minimizer routine will accept.
00067  *
00068  *  @return psVector*:    Calculated values given the parameters and coordinates.
00069 */
00070 typedef
00071 psVector *(*psMinimizeChi2PowellFunc)(
00072     const psVector *params,            ///< Parameters used to evaluate the function
00073     const psArray *coords              ///< Coordinates at which to evaluate
00074 );
00075 
00076 /** Minimizes a specified function based on the Powell chi-squared method.
00077  *
00078  *  @return bool:   True is successful.
00079  */
00080 bool psMinimizeChi2Powell(
00081     psMinimization *min,               ///< Minimization specification
00082     psVector *params,                  ///< "Best guess" for parameters that minimize func
00083     psMinConstrain *constrain,
00084     const psArray *coords,             ///< Measurement coordinates
00085     const psVector *value,             ///< Measured values at the coordinates
00086     const psVector *error,             ///< Errors in the measure values (or NULL)
00087     psMinimizeChi2PowellFunc model     ///< Specified function
00088 );
00089 
00090 /* \} */// End of MathGroup Functions
00091 
00092 #endif // #ifndef PS_MINIMIZE_POWELL_H
00093 

Generated on Mon Jul 3 14:13:44 2006 for Pan-STARRS Foundation Library by  doxygen 1.4.4