Hessian Scaling
The rows and columns of the Hessian matrix
can be scaled when you use the trust region, Newton-Raphson,
and double dogleg optimization techniques.
Each element Hi,j, i,j = 1, ... ,n is divided by the
scaling factor di dj, where the scaling vector
d = (d1, ... ,dn) is iteratively updated in a way
specified by the HESCAL=i option, as follows.
- i = 0:
- No scaling is done (equivalent to di=1).
- First iteration and each restart iteration sets:
![d_i^{(0)} = \sqrt{\max(| H^{(0)}_{i,i}|,\epsilon)}](images/nlmeq36.gif)
- i = 1:
- Refer to Mor
(1978):
![d_i^{(k+1)} = \max [ d_i^{(k)},\sqrt{\max(| H^{(k)}_{i,i}|,
\epsilon)} ]](images/nlmeq38.gif)
- i = 2:
- Refer to Dennis, Gay, and Welsch (1981):
![d_i^{(k+1)} = {\rm max} [ .6 d_i^{(k)},
\sqrt{\max(| H^{(k)}_{i,i}|,\epsilon)} ]](images/nlmeq105.gif)
- i = 3:
- di is reset in each iteration:
![d_i^{(k+1)} = \sqrt{\max(| H^{(k)}_{i,i}|,\epsilon)}](images/nlmeq40.gif)
In the preceding equations,
is the relative machine
precision or, equivalently, the largest double precision value that,
when added to 1, results in 1.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.