8. DMRG-SCF¶
In methods which use a FCI solver, this solver can be replaced by DMRG. DMRG allows for an efficient extraction of the 2-RDM. The 2-RDM of the active space is required in the complete active space self-consistent field (CASSCF) method to compute the gradient and the Hessian with respect to orbital rotations [DMRGSCF1]. It is therefore natural to introduce a CASSCF variant with DMRG as active space solver, called DMRG-SCF [DMRGSCF2] [DMRGSCF3] [DMRGSCF4], which allows to treat static correlation in large active spaces. In CheMPS2, the augmented Hessian Newton-Raphson DMRG-SCF method is implemented, with exact Hessian [DMRGSCF5] [DMRGSCF6].
8.1. Augmented Hessian Newton-Raphson¶
The basic idea is to express the energy with the unitary group generators up to second order:
The vector \(\vec{g}\) is the gradient and the matrix \(\mathbf{H}\) the Hessian for orbital rotations. The minimum of \(E(\vec{x})\) is found at \(\vec{x} = - \mathbf{H}^{-1} \vec{g}\). The variables \(\vec{x}\) parametrize an additional orbital rotation \(\mathbf{U}_{add} = \exp(\mathbf{T}(\vec{x}))\), with \(\mathbf{T}(\vec{x}) = -\mathbf{T}^T(\vec{x})\) a real-valued skew-symmetric matrix. The additional orbital rotation \(\mathbf{U}_{add}\) transforms the current orbitals \(\mathbf{U}(n)\) to the new orbitals
This updating scheme is called the Newton-Raphson method. If the Hessian is positive definite, these updates are stable. For saddle points in the energy landscape, the Hessian has negative eigenvalues, and these updates can be unstable. It is therefore better to use the augmented Hessian Newton-Raphson method:
The eigenvector with smallest algebraic eigenvalue determines a stable update \(\vec{x}\), as is well explained in Ref. [DMRGSCF7].
8.2. DIIS¶
When the update norm \(\|\vec{x}\|_2\) is small enough, the convergence can be accelerated by the direct inversion of the iterative subspace (DIIS) [DMRGSCF8] [DMRGSCF9]. For a given set of orbitals \(\mathbf{U}(n)\), the update \(\vec{x}(n)\) is calculated with the augmented Hessian Newton-Raphson method. This update defines the next set of orbitals:
In DIIS, the error vector \(\vec{x}(n)\) and the state vector \(\mathbf{Y}(n+1) = \log(\mathbf{U}(n+1))\) are added to a list. The error
is minimized under the constraint \(\sum_{i} c_i = 1\). \(\kappa\) is the size of the list memory, i.e. the number of retained vectors. The minimization of the error \(e\) can be performed with Lagrangian calculus:
where \(2\lambda\) is the Lagrangian multiplier and
The new state vector is then defined as
The current orbitals are then set to \(\mathbf{U}(n+1) = \exp(\mathbf{Y}_{new})\).
[DMRGSCF1] | P.E.M. Siegbahn, J. Almlof, A. Heiberg and B.O. Roos, Journal of Chemical Physics 74, 2384-2396 (1981), doi: 10.1063/1.441359 |
[DMRGSCF2] |
|
[DMRGSCF3] |
|
[DMRGSCF4] |
|
[DMRGSCF5] |
|
[DMRGSCF6] |
|
[DMRGSCF7] |
|
[DMRGSCF8] |
|
[DMRGSCF9] | C.D. Sherrill, Programming DIIS, http://vergil.chemistry.gatech.edu/notes/diis/node3.html (2000). |