Program listing for file numerics/src/NonSmoothNewton.h#
Return to documentation for this file
1#ifndef NONSMOOTHNEWTON_H
2#define NONSMOOTHNEWTON_H
3
4
5
6#include "NumericsFwd.h"
7#include "SiconosConfig.h"
8
9
10typedef void (*NewtonFunctionPtr)(int, double*, double*, int);
11
12enum NONSMOOTH_NEWTON_SOLVER { SICONOS_NONSMOOTH_NEWTON_LSA = 11000 };
13
14extern const char* const SICONOS_NONSMOOTH_NEWTON_LSA_STR;
15
16#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
17extern "C" {
18#endif
19
20void linesearch_Armijo(int n, double* z, double* dir, double psi_k, double descentCondition,
21 NewtonFunctionPtr* phi);
22
23
24int nonSmoothNewton(int n, double* z, NewtonFunctionPtr* phi, NewtonFunctionPtr* jacobianPhi,
25 SolverOptions* options);
26
27
28int nonSmoothDirectNewton(int n, double* z, NewtonFunctionPtr* phi,
29 NewtonFunctionPtr* jacobianPhi, SolverOptions* options);
30
31void nonSmoothNewton_set_default(SolverOptions* options);
32
33
34#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
35}
36#endif
37
38#endif