I am currently trying to implement a GS2 (Gonzalez-Schlegel second order) IRC algorithm in a python code. I am following the original paper ref(1).
The main problem is in the constrained optimisation step of the GS2 algorithm. In this step, the geometry optimisation is done by holding the distance of the coordinates (euclidean distance) constant from the coordinates of a pivot point (fixed throughout optimisation).
I will reproduce the main equations for the GS2 constrained optimisation step here: $$p' = x' - x^* \tag{1}$$ $$\Delta x = x - x'\tag{2}$$ $$p = p' + \Delta x = x - x^* \tag{3}$$
where $x'$ and $x$ are the old and new coordinates for the constrained optimisation; $x^*$ is the pivot point that is constant. The $p'$ and $p$ similarly are the vectors from the old and new coordinates to the pivot point, respectively.
The energy is minimised under the constraint $p^T\cdot p = k$ (where k is some fixed scalar number). This is equivalent to optimization on the surface of a hypersphere. They express the optimisation problem with a Lagrange multiplier form: $$L = E' + g^T \cdot \Delta x + \frac{1}{2} \Delta x^T\cdot H \cdot \Delta x - \frac{1}{2} \lambda [p^T\cdot p - k]\tag{4}$$
Where the potential energy surface is expressed as a truncated Taylor series (as normal for QM stuff) and the $g$ and $H$ are the gradient vector and Hessian matrix as usual.
What I don't understand here is the half sign in front of the Lagrange muliplier $\lambda$.
Also, after this, they mention that at convergence, that $$\Delta x = - (H - \lambda I)^{-1} \cdot (g- \lambda p')\tag{5}$$
They then put that expression into the expression for $p$ (eqn. 3) and find the $\lambda$ (by doing a bracketing 1D scalar root search) for which the $\Delta x$ satisfies the constraint.
How does this expression follow from the above expression? I don't quite understand. Could anyone explain how this derivation works mathematically?
Also, another problem with these equations is that the step size is too high in most iterations so there is unpredictable behaviour. Is there any way to restrict the step size for the constrained optimisation step? (In the paper, they have a linear interpolation formula to stabilize the quasi-NR step, but it does not help too much)
References: (1) C. Gonzalez, H. B. Schlegel, J Chem. Phys., 1989, 90(4), 2155