Dakota Reference Manual  Version 6.4
Large-Scale Engineering Optimization and Uncertainty Analysis
 All Pages

Use the Symmetric Rank 1 update method to compute quasi-Hessians


Alias: none

Argument(s): none


The Symmetric Rank 1 (SR1) update (specified with the keyword sr1) will be used to compute quasi-Hessians.

\[ B_{k+1} = B_k + \frac{(y_k - B_k s_k)(y_k - B_k s_k)^T}{(y_k - B_k s_k)^T s_k} \]

where $B_k$ is the $k^{th}$ approximation to the Hessian, $s_k = x_{k+1} - x_k$ is the step and $y_k = \nabla f_{k+1} - \nabla f_k$ is the corresponding yield in the gradients.


  • Initial scaling of $\frac{y_k^T y_k}{y_k^T s_k} I$ is used for $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 $|(y_k - B_k s_k)^T s_k| < 10^{-6} ||s_k||_2 ||y_k - B_k s_k||_2$