hessian.h
Go to the documentation of this file.
1 #ifndef HESSIANH
2 #define HESSIANH
3 
4 #include "variables.h"
5 #include "equations.h"
6 #include "jacobian.h"
7 
24 typedef struct {
25  unsigned int neqs;
26  unsigned int nvars;
29 } THessian;
30 
40 void InitHessian(TJacobian *j,THessian *h);
41 
49 unsigned int GetHessianNVars(THessian *h);
50 
58 unsigned int GetHessianNEqs(THessian *h);
59 
60 
69 void AllocateHessianEvaluation(double ****m,THessian *h);
70 
83 void AllocateHessianEvaluationAsVectors(unsigned int nie,double ***m,THessian *h);
84 
94 void EvaluateHessian(double *v,double ***m,THessian *h);
95 
128 unsigned int EvaluateScalarHessian(double *v,boolean *independentEq,
129  unsigned int neq,double **m,THessian *h);
130 
156 void EvaluateHessianVector(double *x,double*v,
157  unsigned int nie,boolean *independentEq,
158  double **m,double *mf,THessian *h);
159 
188 void EvaluateHessianVector2(double *x,double *v,
189  unsigned int nie,boolean *independentEq,
190  double **m,double *mf,double *o,THessian *h);
191 
201 void FreeHessianEvaluation(double ***m,THessian *h);
202 
212 void FreeHessianEvaluationAsVectors(double **m,THessian *h);
213 
221 void DeleteHessian(THessian *h);
222 
223 #endif