SECTION 9.

SSVM

For description of the algorithm see S.S. Oren and D.G.
Luenberger "Self Scaling Variable Metric Algorithms, Part
I," *Management Science*, 20 (1974), and S.S. Oren,
"Self Scaling Variable Metric Algorithms, Part II," *Management
Science*, 20 (1974),

STORAGE REQUIREMENTS

NQ =i2 = 2*NP*NP + 10*NP

TERMINATION FLAGS

IER = Greater than 0 if optimum is achieved

IER = 3 Function value is accurate to relative ACC

IER = 2 NORM of gradient is less than ACC

IER = 1 Attempted step size is less than ACC (relatively)

IER = -1 Iteration limit exceeded

IER = -2 Function error in FP

IER = -3 Input error

IER = -4 Not enough scratch storage

IER = -9 Function error in first call of FUNC

IER =-39 Linesearch failed

IER =-40 Function error at new point after ILOOP shrinkages

IER =-41 Error in PQ or DEN1 or DEN2

IER =-42 Function error after resetting H-matrix

SECTION 9.1 OPTIONS

Besides the general options, the following are available.

COMMON/BSSVM1/THETAA,PHII,SHRIP1,SHRIP2,EPSS

THETAA = Used in updating the H-matrix (Default=0.25)

PHII = Used in updating the H-matrix (Default=0.5)

SHRIP1 = Shrinkage factor in linear search (Default=0.2)

SHRIP2 = Expansion factor in linear search (Default=2.0)

EPSS = Used in linear search. Must be greater than 0.0 and less
than 0.5 (Default=0.05)

COMMON/BFIDIF/FDFRAC,FDMIN

FDFRAC = Fraction of X(I) over which finite differences of the
function are taken for numerical derivatives (.0001 to .001)
(Default=0.0001)

FDMIN = Minimum acceptable value of FDFRAC*X(I). The equation
used is E = MAX (ABS(X(I)*FDFRAC),FDMIN). (Default=1.D-6)

COMMON/BOPT/IVER,LT,IFP,ISP,NLOOP,IST,ILOOP

IFP = 1 if symmetric first derivatives are desired

IFP = 2 if simple first derivatives are desired

ILOOP = Controls the number of times step shrinkages are
undertaken if function errors are encountered. Normally not to be
reset by users

Note:The other parameters in COMMON/BOPT/... are not used in SSVM.

SECTION 9.2 ANALYTIC DERIVATIVES

If the user wishes to employ analytic first derivatives, he must evaluate these in a subroutine FPP(X,NP,F,FPD,FUNC) as described in Section 1.6. Note that for purposes of SSVM the name of the subroutine must be FPP and not FP as for the other algorithms requiring derivatives.