SEC#
purpose#
The sec
package
builds and updates dense BFGS and SR1 secant approximations to a Hessian
so that the approximation \(B\) satisfies the secant condition \(B s = y\)
for given vectors \(s\) and \(y\).
Currently only the options and inform dictionaries are exposed; these are provided and used by other GALAHAD packages with Python interfaces. Please contact us if you would like full functionality!
See Section 4 of $GALAHAD/doc/sec.pdf for a brief description of the method employed and other details.
functions#
- sec.initialize()#
Set default option values and initialize private data.
Returns:
- optionsdict
- dictionary containing default control options:
- errorint
error and warning diagnostics occur on stream error.
- outint
general output occurs on stream out.
- print_levelint
the level of output required. Possible values are:
<1
no output will occur.
>0
debugging output will occur.
- h_initialfloat
the initial Hessian approximation will be
h_initial
* \(I\).- update_skip_tolfloat
an update is skipped if the resulting matrix would have grown too much; specifically it is skipped when \(y^T s / y^T y \leq\)
update_skip_tol
.- prefixstr
all output lines will be prefixed by the string contained in quotes within
prefix
, e.g. ‘word’ (note the qutoes) will result in the prefix word.
- [optional] sec.information()
Provide optional output information.
Returns:
- informdict
- dictionary containing output information:
- statusint
the return status. Possible valuesa are:
0
successful update occurred.
-85
an update is inappropriate and has been skipped.
- sec.finalize()#
Deallocate all internal private storage.