-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminpack.h
121 lines (106 loc) · 5.38 KB
/
minpack.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
** 2024-05-01:
**
** This file was written by Debian developers
** in the following repository
** https://salsa.debian.org/science-team/minpack
*/
/* Declarations for minpack */
#ifdef __cplusplus
extern "C" {
#endif
/* find a zero of a system of N nonlinear functions in N variables by
a modification of the Powell hybrid method (Jacobian calculated by
a forward-difference approximation) */
void hybrd1_ ( void (*fcn)(int *n, double *x, double *fvec, int *iflag ),
int *n, double *x, double *fvec, double *tol, int *info,
double *wa, int *lwa );
/* find a zero of a system of N nonlinear functions in N variables by
a modification of the Powell hybrid method (Jacobian calculated by
a forward-difference approximation, more general). */
void hybrd_ ( void (*fcn)(int *n, double *x, double *fvec, int *iflag ),
int *n, double *x, double *fvec, double *xtol, int *maxfev,
int *ml, int *mu, double *epsfcn, double *diag, int *mode,
double *factor, int *nprint, int *info, int *nfev,
double *fjac, int *ldfjac, double *r, int *lr, double *qtf,
double *wa1, double *wa2, double *wa3, double *wa4);
/* find a zero of a system of N nonlinear functions in N variables by
a modification of the Powell hybrid method (user-supplied Jacobian) */
void hybrj1_ ( void (*fcn)(int *n, double *x, double *fvec, double *fjec,
int *ldfjac, int *iflag ), int *n, double *x,
double *fvec, double *fjec, int *ldfjac, double *tol,
int *info, double *wa, int *lwa );
/* find a zero of a system of N nonlinear functions in N variables by
a modification of the Powell hybrid method (user-supplied Jacobian,
more general) */
void hybrj_ ( void (*fcn)(int *n, double *x, double *fvec, double *fjec,
int *ldfjac, int *iflag ), int *n, double *x,
double *fvec, double *fjec, int *ldfjac, double *xtol,
int *maxfev, double *diag, int *mode, double *factor,
int *nprint, int *info, int *nfev, int *njev, double *r,
int *lr, double *qtf, double *wa1, double *wa2,
double *wa3, double *wa4 );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(Jacobian calculated by a forward-difference approximation) */
void lmdif1_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
int *iflag ),
int *m, int *n, double *x, double *fvec, double *tol,
int *info, int *iwa, double *wa, int *lwa );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(Jacobian calculated by a forward-difference approximation, more
general) */
void lmdif_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
int *iflag ),
int *m, int *n, double *x, double *fvec, double *ftol,
double *xtol, double *gtol, int *maxfev, double *epsfcn,
double *diag, int *mode, double *factor, int *nprint,
int *info, int *nfev, double *fjac, int *ldfjac, int *ipvt,
double *qtf, double *wa1, double *wa2, double *wa3,
double *wa4 );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(user-supplied Jacobian) */
void lmder1_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
double *fjec, int *ldfjac, int *iflag ),
int *m, int *n, double *x, double *fvec, double *fjec,
int *ldfjac, double *tol, int *info, int *ipvt,
double *wa, int *lwa );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(user-supplied Jacobian, more general) */
void lmder_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
double *fjec, int *ldfjac, int *iflag ),
int *m, int *n, double *x, double *fvec, double *fjec,
int *ldfjac, double *ftol, double *xtol, double *gtol,
int *maxfev, double *diag, int *mode, double *factor,
int *nprint, int *info, int *nfev, int *njev, int *ipvt,
double *qtf, double *wa1, double *wa2, double *wa3,
double *wa4 );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(user-supplied Jacobian, minimal storage) */
void lmstr1_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
double *fjrow, int *iflag ), int *m, int *n,
double *x, double *fvec, double *fjac, int *ldfjac,
double *tol, int *info, int *ipvt, double *wa, int *lwa );
/* minimize the sum of the squares of nonlinear functions in N
variables by a modification of the Levenberg-Marquardt algorithm
(user-supplied Jacobian, minimal storage, more general) */
void lmstr_ ( void (*fcn)(int *m, int *n, double *x, double *fvec,
double *fjrow, int *iflag ), int *m,
int *n, double *x, double *fvec, double *fjac,
int *ldfjac, double *ftol, double *xtol, double *gtol,
int *maxfev, double *diag, int *mode, double *factor,
int *nprint, int *info, int *nfev, int *njev, int *ipvt,
double *qtf, double *wa1, double *wa2, double *wa3,
double *wa4 );
void chkder_ ( int *m, int *n, double *x, double *fvec, double *fjec,
int *ldfjac, double *xp, double *fvecp, int *mode,
double *err );
double dpmpar_ ( int *i );
double enorm_ ( int *n, double *x );
#ifdef __cplusplus
}
#endif