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 \epsilonwhere \epsilon is a small tolerance value.