CEH − CUTEr tool to evaluate the sparse Lagrangian Hessian matrix in finite element format. 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 CEH( N, M, X, LV, V, NE, IRNHI, LIRNHI, LE, IPRNHI, HI, LHI, IPRHI, BYROWS ) |
The CEH subroutine evaluates the Hessian matrix of the Lagrangian function for the problem decoded into OUTSDIF.d at the point X in the constrained minimization case. This Hessian matrix is stored as a sparse matrix in finite element format H = sum H_i (i=1,...,NE), where each square symmetric element H_i involves a small subset of the rows of the Hessian matrix. |
The arguments of CEH 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, |
LV [in] - integer |
the actual declared dimension of V, |
V [in] - real/double precision |
an array which gives the Lagrange multipliers, |
NE [out] - integer |
the number, ne, of "finite-elements" used, |
IRNHI [out] - integer |
an array which holds a list of the row indices involved which each element. Those for element i directly preceed those for element i+1, i = 1, ..., NE-1. Since the elements are symmetric, IRNHI is also the list of column indices involved with each element. |
LIRNHI [in] - integer |
the actual declared dimension of IRNHI, |
LE [in] - integer |
the actual declared dimensions of IPRNHI and IPRHI, |
IPRNHI [out] - integer |
IPRNHI(i) points to the position in IRNHI of the first row index involved with element number i: the row indices of element number i are stored in IRNHI between the indices IPRNHI(i) and IPRNHI(i+1)-1. IPRNHI(NE+1) points to the first empty location in IRNHI, |
HI [out] - real/double precision |
an array of the nonzeros in the upper triangle of H_i, evaluated at X and stored by rows, or by columns. Those for element i directly proceed those for element, i+1, i = 1, ..., NE-1. Element number i contains the values stored between HI( IPRHI(i) ) and HI( IPRHI(i+1)-1 ) and involves the rows/columns stored between IRNHI( IPRNHI(i) ) and IRNHI( IPRNHI(i+1)-1 ). |
LHI [in] - integer |
the actual declared dimension of HI, |
IPRHI [out] - integer |
IPRHI(i) points to the position in HI of the first nonzero involved with element number i: the values involved in element number i are stored in HI between the indices IPRHI(i) and IPRHI(i+1)-1. IPRHI(NE+1) points to the first empty location in HI, |
BYROWS [in] - logical |
must be set to .TRUE. if the upper triangle of each H_i is to be stored by rows, and to .FALSE. if it is to be stored by columns. |
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. ueh(3M). |