.. _responses-quasi_hessians-bfgs: """" bfgs """" Use BFGS method to compute quasi-hessians .. toctree:: :hidden: :maxdepth: 1 responses-quasi_hessians-bfgs-damped **Specification** - *Alias:* None - *Arguments:* None **Child Keywords:** +-------------------------+--------------------+--------------------+-----------------------------------------------+ | Required/Optional | Description of | Dakota Keyword | Dakota Keyword Description | | | Group | | | +=========================+====================+====================+===============================================+ | Optional | `damped`__ | Numerical safeguarding for BFGS updates | +----------------------------------------------+--------------------+-----------------------------------------------+ .. __: responses-quasi_hessians-bfgs-damped.html **Description** Broyden-Fletcher-Goldfarb-Shanno (BFGS) update will be used to compute quasi-Hessians. .. math:: B_{k+1} = B_{k} - \frac{B_k s_k s_k^T B_k}{s_k^T B_k s_k} + \frac{y_k y_k^T}{y_k^T s_k} where :math:`B_k` is the :math:`k^{th}` approximation to the Hessian, :math:`s_k = x_{k+1} - x_k` is the step and :math:`y_k = \nabla f_{k+1} - \nabla f_k` is the corresponding yield in the gradients. *Notes* - Initial scaling of :math:`\frac{y_k^T y_k}{y_k^T s_k} I` is used for :math:`B_0` prior to the first update. - Numerical safeguarding is used to protect against numerically small denominators within the updates. - This safeguarding skips the update if :math:`|y_k^T s_k| < 10^{-6} s_k^T B_k s_k` - Additional safeguarding can be added using the ``damped`` option, which utilizes an alternative damped BFGS update when the curvature condition :math:`y_k^T s_k > 0` is nearly violated.