The BFGS algorithm is guaranteed to converge to a local minimum under certain conditions, such as the objective function being smooth and convex. The algorithm terminates when the gradient \( \nabla f(\mathbf{x}_k) \) is sufficiently close to zero, or when a maximum number of iterations is reached.
A typical convergence criterion is:
$$ \|\nabla f(\mathbf{x}_k)\| \leq \epsilon $$where \( \epsilon \) is a small tolerance value.