31 #ifndef vtkAmoebaMinimizer_h 32 #define vtkAmoebaMinimizer_h 50 void SetFunction(
void (*
f)(
void *),
void *arg);
53 void SetFunctionArgDelete(
void (*
f)(
void *));
62 void SetParameterValue(
const char *
name,
double value);
63 void SetParameterValue(
int i,
double value);
71 void SetParameterScale(
const char *
name,
double scale);
72 double GetParameterScale(
const char *
name);
73 void SetParameterScale(
int i,
double scale);
82 double GetParameterValue(
const char *
name);
99 virtual void Minimize();
103 virtual int Iterate();
157 void EvaluateFunction();
165 void (*FunctionArgDelete)(
void *);
187 double **AmoebaVertices;
188 double *AmoebaValues;
191 double AmoebaHighValue;
192 int AmoebaNStepsNoImprovement;
194 void InitializeAmoeba();
195 void GetAmoebaParameterValues();
196 void TerminateAmoeba();
197 double TryAmoeba(
double sum[],
int high,
double fac);
199 int CheckParameterTolerance();
const char * GetParameterName(int i)
nonlinear optimization with a simplex
abstract base class for most VTK objects
double GetParameterValue(int i)
GLenum GLenum GLenum GLenum GLenum scale
#define vtkGetMacro(name, type)
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
#define vtkSetClampMacro(name, type, min, max)
GLsizei const GLfloat * value
double GetFunctionValue()
#define vtkTypeMacro(thisClass, superclass)
GLuint const GLchar * name
virtual void PrintSelf(ostream &os, vtkIndent indent)
double GetParameterScale(int i)
a simple class to control print indentation
int GetNumberOfParameters()
double ParameterTolerance
#define VTKCOMMONMATH_EXPORT
#define vtkSetMacro(name, type)