A Geometry Optimization with Q-Chem

A.7 GDIIS

Direct inversion in the iterative subspace (DIIS) was originally developed by Pulay for accelerating SCF convergence.760 Subsequently, Csaszar and Pulay used a similar scheme for geometry optimization, which they termed GDIIS.197 The method is somewhat different from the usual quasi-Newton type approach and is included in Optimize as an alternative to the EF algorithm. Tests indicate that its performance is similar to EF, at least for small systems; however there is rarely an advantage in using GDIIS in preference to EF.

In GDIIS, geometries 𝐱i generated in previous optimization cycles are linearly combined to find the “best” geometry on the current cycle

𝐱n=i=1mci𝐱i (A.33)

where the problem is to find the best values for the coefficients ci.

If we express each geometry, 𝐱i, by its deviation from the sought-after final geometry, 𝐱f, i.e., 𝐱f=𝐱i+𝐞i, where 𝐞i is an error vector, then it is obvious that if the conditions

𝐫=ci𝐞i (A.34)

and

ci=1 (A.35)

are satisfied, then the relation

ci𝐱i=𝐱f (A.36)

also holds.

The true error vectors 𝐞i are, of course, unknown. However, in the case of a nearly quadratic energy function they can be approximated by

𝐞i=-𝐇-1𝐠i (A.37)

where 𝐠i is the gradient vector corresponding to the geometry 𝐱i and 𝐇 is an approximation to the Hessian matrix. Minimization of the norm of the residuum vector 𝐫, Eq. (A.34), together with the constraint equation, Eq. (A.35), leads to a system of m+l linear equations

(B11B1m1Bm1Bmm1110)(c1cm-λ)=(001) (A.38)

where Bij=𝐞i|𝐞j is the scalar product of the error vectors 𝐞i and 𝐞j, and λ is a Lagrange multiplier.

The coefficients ci determined from Eq. (A.38) are used to calculate an intermediate interpolated geometry

𝐱m+1=ci𝐱i (A.39)

and its corresponding interpolated gradient

𝐠m+1=ci𝐠i (A.40)

A new, independent geometry is generated from the interpolated geometry and gradient according to

𝐱m+1=𝐱m+1-𝐇-1𝐠m+1. (A.41)

Note:  Convergence is theoretically guaranteed regardless of the quality of the Hessian matrix (as long as it is positive definite), and the original GDIIS algorithm used a static Hessian (i.e., the original starting Hessian, often a simple unit matrix, remained unchanged during the entire optimization). However, updating the Hessian at each cycle generally results in more rapid convergence, and this is the default in Optimize.

Other modifications to the original method include limiting the number of previous geometries used in Eq. (A.33) and, subsequently, by neglecting earlier geometries, and eliminating any geometries more than a certain distance from the current geometry (default = 0.3 a.u.).