The 3B procedures are implemented according to the solving algorithms. For Solve_General_Interval:
int ALIAS_3B_Normal(int Dimension,int DimEq,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
INTERVAL_VECTOR &Input,int (* Simp_Proc)(INTERVAL_VECTOR &))
where
For Solve_General_Gradient_Interval:
int ALIAS_3B_Gradient(int DimVar,int DimEq,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &),
INTERVAL_VECTOR &Input,INTEGER_VECTOR &A1,
int (* Simp_Proc)(INTERVAL_VECTOR &))
whereGradient is the name of the procedure that evaluate the
derivatives of the equations
For Solve_General_JH_Interval:
int ALIAS_3B_Hessian(int DimVar,int DimEq,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
INTERVAL_MATRIX (* Gradient)(int, int, INTERVAL_VECTOR &),
INTERVAL_MATRIX (* Hessian)(int, int, INTERVAL_VECTOR &),
INTERVAL_VECTOR &Input,INTERVAL_MATRIX &A1,
int (* Simp_Proc)(INTERVAL_VECTOR &))
where Hessian is the procedure that computes the Hessian of the
equations.
A specific 3B exists for distance equations:
int ALIAS_3B_Distance(int Dim,int Dimension_Eq,
INTEGER_VECTOR &VAR_TOUCHED,
INTEGER_MATRIX &APOW,MATRIX &ACONS,
VECTOR &LI,int NB_EQV,int NB_VARV,MATRIX &AVARV,
INTERVAL_VECTOR &Input,int (* Simp_Proc)(INTERVAL_VECTOR &))
For the eigenvalue of matrices we have:
int ALIAS_3B_EigenValues(int Dimension,int Dimension_Eq,int Degree,
int (* TheMatrix)(INTERVAL_VECTOR &, INTERVAL_MATRIX &),
int Has_Matrix,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
int *Has_Gradient,
INTERVAL_MATRIX (* Gradient)(int, int,INTERVAL_VECTOR &),
INTERVAL_VECTOR (* TheCoeff)(INTERVAL_VECTOR &),
int Nb_Points,int Use_Solve,
double Accuracy,double Accuracy_Var,
INTERVAL_VECTOR &Input,
int (* Solve_Poly)(double *, int *,double *),
int (* Simp_Proc)(INTERVAL_VECTOR &))
For the geometry of region with given eigenvalue range we have:
int ALIAS_3B_Min_Max_EigenValues_Area(int Degree,int Nb_Parameter,
INTERVAL_VECTOR (* TheCoeff)(INTERVAL_VECTOR &),
INTERVAL_VECTOR (* TheCoeffCentered)(INTERVAL_VECTOR &,double),
int Nb_Constraints,INTEGER_VECTOR &Type_Eq,
int (* TheMatrix)(INTERVAL_VECTOR &, INTERVAL_MATRIX &),
int Has_Matrix,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
int *Has_Gradient,
INTERVAL_MATRIX (* Gradient)(int, int,INTERVAL_VECTOR &),
double *Seuil_First_Sol1,int RealRoot,
int (* Solve_Poly)(double *, int *,double *),
INTERVAL_VECTOR &Input,
int (* Simp_Proc)(INTERVAL_VECTOR &))
For the optimum of the condition number of matrices we have:
int ALIAS_3B_CN(int Dimension,int Dimension_Eq,int Degree,
int (* TheMatrix)(INTERVAL_VECTOR &, INTERVAL_MATRIX &),
int Has_Matrix,
INTERVAL_VECTOR (* Func)(int,int,INTERVAL_VECTOR &),
int Has_Gradient,
INTERVAL_MATRIX (* Gradient)(int, int,INTERVAL_VECTOR &),
INTERVAL_VECTOR (* TheCoeff)(INTERVAL_VECTOR &),
int Nb_Points,int Absolute,
double Accuracy,double Accuracy_Var,
INTERVAL_VECTOR &Input,
int (* Solve_Poly)(double *, int *,double *),
int (* Simp_Proc)(INTERVAL_VECTOR &))
In the procedure ALIAS_Geometry_Carre we use:
int ALIAS_3B_Constraints(int Nb_Parameter,int Dimension_Eq,
INTEGER_VECTOR &Type_Eq,INTEGER_VECTOR &Imperatif,
int Degree,double Accuracy_Variable,double Accuracy,
double Accuracy_Geometry,
INTERVAL_VECTOR (* F)(int,int,INTERVAL_VECTOR &),
int *Has_Gradient,
INTERVAL_MATRIX (* Gradient)(int, int,INTERVAL_VECTOR &),
INTERVAL_VECTOR &Input,
int (* Simp_Proc)(INTERVAL_VECTOR &))