1 #ifndef tstfcn_h
2 #define tstfcn_h
3 
4 
5 /*
6  *
7  * Declarations for TWAFER
8  */
9 
10 /* Initializer for TWAFER */
11 
12 void init_twaf(int n, NEWMAT::ColumnVector& x);
13 
14 /* TWAFER with no analytic derivative */
15 
16 void twaf(int n, const NEWMAT::ColumnVector& x, double& fx, int& result);
17 
18 /*
19  *
20  * Declarations for rosenbrock's functions
21  */
22 
23 /* Initializer for Rosenbrock */
24 
25 void init_rosen(int n, NEWMAT::ColumnVector& x);
26 
27 /* Rosenbrock with no analytic derivative */
28 
29 void rosen0(int n, const NEWMAT::ColumnVector& x, double& fx, int& result);
30 
31 /* Rosenbrock with analytic derivative */
32 void rosen(int mode, int n, const NEWMAT::ColumnVector& x, double& fx, NEWMAT::ColumnVector& g,
33 	   int& result);
34 
35 /* Rosenbrock with analytic derivative and Hessian*/
36 
37 void rosen2(int mode, int n, const NEWMAT::ColumnVector& x, double& fx,
38 	    NEWMAT::ColumnVector& g, NEWMAT::SymmetricMatrix& H, int& result);
39 
40 /* Scaled version of Rosenbrock with analytic derivative */
41 void srosen(int mode, int n, const NEWMAT::ColumnVector& x, double& fx,
42 	    NEWMAT::ColumnVector& g, int& result);
43 
44 /* Scaled version of Rosenbrock with analytic derivative and Hessian*/
45 
46 void srosen2(int mode, int n, const NEWMAT::ColumnVector& x, double& fx,
47 	     NEWMAT::ColumnVector& g, NEWMAT::SymmetricMatrix& H, int& result);
48 
49 void   init_illum(int n, NEWMAT::ColumnVector& x);
50 
51 void   illum(int, int, const NEWMAT::ColumnVector&, double&, NEWMAT::ColumnVector&, int&);
52 
53 void   illum2(int mode, int n, const NEWMAT::ColumnVector& x, double& fx,
54 	      NEWMAT::ColumnVector& g, NEWMAT::SymmetricMatrix& H, int& result);
55 
56 void init_erosen (int ndim, NEWMAT::ColumnVector& x);
57 void erosen(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
58 void erosen1(int mode, int ndim, const NEWMAT::ColumnVector& x, double& fx,
59 	     NEWMAT::ColumnVector&, int& result);
60 
61 void init_penalty1 (int ndim, NEWMAT::ColumnVector& x);
62 void penalty1(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
63 
64 void init_penalty2 (int ndim, NEWMAT::ColumnVector& x);
65 void penalty2(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
66 
67 void init_epowell (int ndim, NEWMAT::ColumnVector& x);
68 void epowell(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
69 
70 void init_trig (int ndim, NEWMAT::ColumnVector& x);
71 void trig(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
72 
73 void init_gen_brown (int ndim, NEWMAT::ColumnVector& x);
74 void gen_brown(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
75 
76 void init_vardim (int ndim, NEWMAT::ColumnVector& x);
77 void vardim(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
78 
79 void init_chain_singular (int ndim, NEWMAT::ColumnVector& x);
80 void chain_singular(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
81 
82 void init_gen_wood (int ndim, NEWMAT::ColumnVector& x);
83 void gen_wood(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
84 
85 void init_chain_wood (int ndim, NEWMAT::ColumnVector& x);
86 void chain_wood(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
87 
88 void init_broyden (int ndim, NEWMAT::ColumnVector& x);
89 void broyden_tridiag(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
90 void broyden1a(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
91 void broyden1b(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
92 void broyden2a(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
93 void broyden2b(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
94 void tointbroy(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
95 
96 void init_gen_cragg_levy (int ndim, NEWMAT::ColumnVector& x);
97 void gen_cragg_levy(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
98 
99 void init_toint_trig (int ndim, NEWMAT::ColumnVector& x);
100 void toint_trig(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
101 
102 void init_chebyquad (int ndim, NEWMAT::ColumnVector& x);
103 void chebyquad(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
104 
105 void init_nelder (int ndim, NEWMAT::ColumnVector& x);
106 void nelder(int ndim, const NEWMAT::ColumnVector& x, double& fx, int& result);
107 
108 
109 #endif
110