CGRDH − CUTEr tool to evaluate constraints gradients, Hessian of Lagrangian function and gradient of objective/Lagrangian function. By convention, the signs of the Lagrange multipliers V are set so the Lagrangian function can be written as L(X, V) = f(X) + < c(X), V >. |
CALL CGRDH( N, M, X, GRLAGF, LV, V, G, JTRANS, LCJAC1, LCJAC2, CJAC, LH1, H ) |
The CGRDH subroutine evaluates the gradients of the general constraints and of either the objective function or the Lagrangian corresponding to the problem decoded into OUTSDIF.d at the point X, in the constrained programming case. It also evaluates the Hessian matrix of the Lagrangian function at X. The gradients and matrices are stored in a dense format. |
The arguments of CGRDH are as follows |
N [in] - integer |
the number of variables for the problem, |
M [in] - integer |
the total number of general constraints, |
X [in] - real/double precision |
an array which gives the current estimate of the solution of the problem, |
GRLAGF [in] - logical |
a logical variable which should be set .TRUE. if the gradient of the Lagrangian function is required and .FALSE. if the gradient of the objective function is sought, |
LV [in] - integer |
the actual declared dimension of V, |
V [in] - real/double precision |
an array which should give the Lagrange multipliers whenever GRLAGF is set .TRUE. but need not otherwise be set, |
G [out] - real/double precision |
an array which gives the value of the gradient of the objective function evaluated at X (GRLAGF = .FALSE.) or of the Lagrangian function evaluated at X and V (GRLAGF = .TRUE.), |
JTRANS [in] - logical |
a logical variable which should be set to .TRUE. if the transpose of the constraint Jacobian is required and to .FALSE. if the Jacobian itself is wanted. The Jacobian matrix is the matrix whose i-th row is the gradient of the i-th constraint function, |
LCJAC1 [in] - integer |
the actual declared size of the leading dimension of CJAC (with LCJAC1 no smaller than N if JTRANS is .TRUE. or M if JTRANS is .FALSE.), |
LCJAC2 [in] - integer |
the actual declared size of the second dimension of CJAC (with LCJAC2 no smaller than M if JTRANS is .TRUE. or N if JTRANS is .FALSE.), |
CJAC [out] - real/double precision |
a two-dimensional array of dimension (LCJAC1, LCJAC2) which gives the value of the Jacobian matrix of the constraint functions, or its transpose, evaluated at X. If JTRANS is .TRUE., the i,j-th component of the array will contain the i-th derivative of the j-th constraint function. Otherwise, if JTRANS is .FALSE., the i,j-th component of the array will contain the j-th derivative of the i-th constraint function. |
LH1 [in] - integer |
the actual declared size of the leading dimension of H (with LH1 no smaller than N), |
H [out] - real/double precision |
a two-dimensional array which gives the value of the Hessian matrix of the Lagrangian function evaluated at X and V. |
I. Bongartz, A.R. Conn, N.I.M. Gould, D. Orban and Ph.L. Toint |
CUTEr (and SifDec): A Constrained and Unconstrained Testing Environment, revisited, N.I.M. Gould, D. Orban and Ph.L. Toint, ACM TOMS, 29:4, pp.373-394, 2003. CUTE: Constrained and Unconstrained Testing Environment, I. Bongartz, A.R. Conn, N.I.M. Gould and Ph.L. Toint, TOMS, 21:1, pp.123-160, 1995. ugrdh(3M). |