Difference between revisions of "Hessreg.m"

From Spinach Documentation Wiki
Jump to: navigation, search
m (See also)
Line 87: Line 87:
''Revision 3432, authors: [[David Goodwin]]''
''Version 1.9, authors: [[David Goodwin]]''

Revision as of 13:57, 3 January 2017

The function returns well conditioned Hessian matrix.




Returns well conditioned Hessian matrix and, if 'RFO' is used, also returns the scaled gradient. .


    H - Hessian matrix to be regularised and conditioned.
    g - gradient vector to assist regularisation for the 'RFO' method.
    reg_param - structure of regularisation options and tolerances.
    data - (optional) data structure to modify regularisation diagnostics.


    H - Regularised and conditioned Hessian matrix
    g - gradient vector from 'RFO' method (may occasionally change from input g).
    data - (optional) data structure with regularisation diagnostics if data input was supplied.

Default Options

Although these options would be automatically generated by optim_tols.m when used with fminnewton.m or fminkrotov.m, if the function is used separately from these functions - the following are its default options:

         This defines the regularisation strategy. Options are a
         Cholesky factorisation ('CHOL'), or the eigendecomposition
         based Rational Function Optimisation ('RFO'), Trust Region
         regularisation ('TRM') and a reset to the identity ('reset').
         (Default 'RFO').
         Maximumnumber of cholesky factorisation trials, or conditioning
         iterates allowed (Default 2500).
         Used in 'TRM' and regularisation. Should be in the form
         0<delta and is the constant multiplied by the identity in
         H=(H+delta*I), to shift eigenvalues. (Default 1)
         Used in 'RFO' and regularisation. Should be in the form
         0<alpha and is the uniform scaling factor. (Default 1)
         Either none , 'scaled' or 'iterative'. 'iterative' conditions
         the hessian iteratively, reducing the factor delta to
         reg_param.phi*alpha at every iterate (default
         0.9), until the condition number is less than
         Used in 'RFO' and regularisation as the factor to reduce
         scaling with 'iterative' conditioning. Should be 0<phi<1 for
         'RFO' (Default 0.9). If used with 'TRM' and 'iterative'
         conditions, this factor increases the eigenvalue shift
         parameter at each iterate, in this case phi>1 (no Default for 
         positive number being the maximum allowed condition number of
         the Hessian when reg_param.conditioning 'ioterative' or
         'scaled' are used (Default 1e4).


If data input exists, the data output gives diagnostic information such as hessian eigenvalues, condition number, and the number of conditioning iterates.

See also

hessprep.m, fminnewton.m, fminkrotov.m

Version 1.9, authors: David Goodwin