Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/dfmcg.doc
There are 2 other files named dfmcg.doc in the archive. Click here to see a list.
SUBROUTINE DFMCG
PURPOSE
TO FIND A LOCAL MINIMUM OF A FUNCTION OF SEVERAL VARIABLES
BY THE METHOD OF CONJUGATE GRADIENTS
USAGE
CALL DFMCG(FUNCT,N,X,F,G,EST,EPS,LIMIT,IER,H)
DESCRIPTION OF PARAMETERS
FUNCT - USER-WRITTEN SUBROUTINE CONCERNING THE FUNCTION TO
BE MINIMIZED. IT MUST BE OF THE FORM
SUBROUTINE FUNCT(N,ARG,VAL,GRAD)
AND MUST SERVE THE FOLLOWING PURPOSE
FOR EACH N-DIMENSIONAL ARGUMENT VECTOR ARG,
FUNCTION VALUE AND GRADIENT VECTOR MUST BE COMPUTED
AND, ON RETURN, STORED IN VAL AND GRAD RESPECTIVELY
ARG,VAL AND GRAD MUST BE OF DOUBLE PRECISION.
N - NUMBER OF VARIABLES
X - VECTOR OF DIMENSION N CONTAINING THE INITIAL
ARGUMENT WHERE THE ITERATION STARTS. ON RETURN,
X HOLDS THE ARGUMENT CORRESPONDING TO THE
COMPUTED MINIMUM FUNCTION VALUE
DOUBLE PRECISION VECTOR.
F - SINGLE VARIABLE CONTAINING THE MINIMUM FUNCTION
VALUE ON RETURN, I.E. F=F(X).
DOUBLE PRECISION VARIABLE.
G - VECTOR OF DIMENSION N CONTAINING THE GRADIENT
VECTOR CORRESPONDING TO THE MINIMUM ON RETURN,
I.E. G=G(X).
DOUBLE PRECISION VECTOR.
EST - IS AN ESTIMATE OF THE MINIMUM FUNCTION VALUE.
SINGLE PRECISION VARIABLE.
EPS - TESTVALUE REPRESENTING THE EXPECTED ABSOLUTE ERROR.
A REASONABLE CHOICE IS 10**(-16), I.E.
SOMEWHAT GREATER THAN 10**(-D), WHERE D IS THE
NUMBER OF SIGNIFICANT DIGITS IN FLOATING POINT
REPRESENTATION.
SINGLE PRECISION VARIABLE.
LIMIT - MAXIMUM NUMBER OF ITERATIONS.
IER - ERROR PARAMETER
IER = 0 MEANS CONVERGENCE WAS OBTAINED
IER = 1 MEANS NO CONVERGENCE IN LIMIT ITERATIONS
IER =-1 MEANS ERRORS IN GRADIENT CALCULATION
IER = 2 MEANS LINEAR SEARCH TECHNIQUE INDICATES
IT IS LIKELY THAT THERE EXISTS NO MINIMUM.
H - WORKING STORAGE OF DIMENSION 2*N.
DOUBLE PRECISION ARRAY.
REMARKS
I) THE SUBROUTINE NAME REPLACING THE DUMMY ARGUMENT FUNCT
MUST BE DECLARED AS EXTERNAL IN THE CALLING PROGRAM.
II) IER IS SET TO 2 IF , STEPPING IN ONE OF THE COMPUTED
DIRECTIONS, THE FUNCTION WILL NEVER INCREASE WITHIN
A TOLERABLE RANGE OF ARGUMENT.
IER = 2 MAY OCCUR ALSO IF THE INTERVAL WHERE F
INCREASES IS SMALL AND THE INITIAL ARGUMENT WAS
RELATIVELY FAR AWAY FROM THE MINIMUM SUCH THAT THE
MINIMUM WAS OVERLEAPED. THIS IS DUE TO THE SEARCH
TECHNIQUE WHICH DOUBLES THE STEPSIZE UNTIL A POINT
IS FOUND WHERE THE FUNCTION INCREASES.
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
FUNCT
METHOD
THE METHOD IS DESCRIBED IN THE FOLLOWING ARTICLE
R.FLETCHER AND C.M.REEVES, FUNCTION MINIMIZATION BY
CONJUGATE GRADIENTS,
COMPUTER JOURNAL VOL.7, ISS.2, 1964, PP.149-154.