Driver
BlockOpt.Driver
— TypeDriver
An immutable structure specifying a simulation's preliminary secant update flag (pflag
), the $Sₖ₊₁$ update formula, and the Quasi-Newton update formula used. If keyword arguments aren't provided to a drivers' construction, then the default S_update
, pflag
, and QN_updates
are assigned. A Driver contains a mutable DriverOptions
instance, which allows for forwarding of the options interface to the Driver interface.
See S_update
, QN_update
, and pflag
for more on keyword arguments.
Interface
The delegation design pattern at play allows us to forward the DriverOptions
interface to the Driver
. In addition to the documented methods, see the Options
interface section.
BlockOpt.QN_update
— MethodQN_update(d::Driver)
The QN update formula of Driver d
.
Values: SR1
, PSB
BlockOpt.SR1
— FunctionSR1
Returns the algebraically minimal SR1 inverse Quasi-Newton block update, where $δ$ is the Moore-Penrose pseudoinverse relative tolerance used in pinv
.
See: Algorithm $4.2.$
BlockOpt.PSB
— FunctionPSB
Powell-Symmetric-Broyden generalized Quasi-Newton block update, where $δ$ is the Moore-Penrose pseudoinverse relative tolerance used in pinv
.
See: Algorithm $4.3.$
BlockOpt.S_update
— MethodS_update(d::Driver)
The supplemental sample direction update formula of Driver d
.
Values: S_update_a
, S_update_b
, S_update_c
, S_update_d
, S_update_e
, S_update_f
BlockOpt.S_update_a
— FunctionS_update_a
Random set of orthonormal sample directions.
See: Equation (6.1.a).
BlockOpt.S_update_b
— FunctionS_update_b
Random set of sample directions orthogonal to the previous sample space given by input Sₖ.
See: Equation (6.1.b).
BlockOpt.S_update_c
— FunctionS_update_c
Attempts to guide the algorithm in accurately resolving the eigenspace associated with the larger Hessian eigenvalues.
See: Equation (6.1.c).
BlockOpt.S_update_d
— FunctionS_update_d
A variant of (6.1.a) that includes approximate curvature information along the previously chosen step.
See: Equation (6.1.d).
BlockOpt.S_update_e
— FunctionS_update_e
A variant of (6.1.b) that includes approximate curvature information along the previously chosen step.
See: Equation (6.1.e).
BlockOpt.S_update_f
— FunctionS_update_f
A variant of (6.1c) that includes approximate curvature information along the previously chosen step.
See: Equation (6.1.f).
BlockOpt.pflag
— Methodpflag(d::Driver)
The preliminary secant QN update flag of driver d
wraping a boolean.
Options true
, false