TOMS611S - Unconstrained Minimization (Single Precision)
TOMS611S is ACM TOMS algorithm 611, the single precision version.
It contains routines for the general unconstrained minimization of a
scalar function of several variables. The routines use a
model/trust-region approach, and the double-dogleg technique of Dennis
and Mei. In cases where the Hessian is not supplied by the user, the
BFGS secant update is used instead.
Three different implementations of the algorithm are available,
which allow the user to supply just the function, the function
and gradient, or function, gradient and hessian.
The user may also choose to supply the information about the
function through subroutines, or to use a version of the algorithm
that employs "reverse communication", allowing the user to
evaluate the function in any suitable way.
The original, true, correct version of TOMS 611 is available in the
TOMS subdirectory of
the NETLIB web site.
Files you may copy include:
The list of routines includes:
-
ASSST assesses a candidate step.
-
DBDOG computes a double dogleg step.
-
DEFLT supplies default values to IV and V.
-
DOTPRD returns the inner product of the vectors X and Y.
-
DUPDU updates the scale vector D for HUMSL.
-
GQTST computes the Goldfeld-Quandt-Trotter step by the More-Hebden technique.
-
HUMIT carries out HUMSL iterations.
-
HUMSL minimizes a function, given its gradient and hessian.
-
ITSUM prints an iteration summary.
-
LITVMU solves L' * x = y.
-
LIVMUL solves L * X = Y.
-
LSQRT computes rows N1 through N of the Cholesky factor of A.
-
LSVMIN estimates the smallest singular value of a packed lower triangular matrix.
-
LTVMUL computes X = L' * Y.
-
LUPDAT computes LPLUS = secant update of L.
-
LVMUL computes X = L*Y.
-
PARCK checks parameters and prints changed values.
-
RELDST computes the relative difference between X and X0.
-
SGRAD2 computes a finite difference gradient by Stewart's scheme.
-
SLVMUL sets Y = S * X where S is a symmetric matrix.
-
SMSNO minimizes a general unconstrained objective function using
-
SNOIT is the iteration driver for SMSNO.
-
STOPX is a stopping routine.
-
SUMIT carries out SUMSL iterations.
-
SUMSL minimizes a general unconstrained objective function.
-
UFPARM_DUMMY is a dummy version of the UFPARM external function.
-
V2NORM returns the 2-norm of the vector X.
-
VAXPY sets W(1:N) = A * X(1:N) + Y(1:N).
-
VCOPY sets Y = X.
-
VDFLT supplies default values to V.
-
VSCOPY sets the entries of the vector Y to the scalar value S.
-
VVMULP sets X(I) = Y(I) * Z(I) or Y(I) / Z(I).
-
WZBFGS computes Y and Z for LUPDAT corresponding to BFGS update.
Return to the FORTRAN software page.
Last revised on 01 June 2001.