DIIS solver

Main structure

Exported functions

Internal functions

ElemCo.DIIS.saveampsMethod
saveamps(diis::Diis, vecs, ipos)

Save vectors to file (replacing previous vectors at position ipos).

source
ElemCo.DIIS.saveresMethod
saveres(diis::Diis, vecs, ipos)

Save residuals to file (replacing previous residuals at position ipos).

source
ElemCo.DIIS.update_BmatMethod
update_Bmat(diis::Diis, nDim, Res, ithis)

Update B matrix with new residual (at the position ithis).

B matrix is defined as:

\[{\bf B} = \begin{pmatrix} \langle {\bf R}_1, {\bf R}_1 \rangle & \langle {\bf R}_1, {\bf R}_2 \rangle & \cdots & \langle {\bf R}_1, {\bf R}_{\rm nDim} \rangle & -1 \\ \langle {\bf R}_2, {\bf R}_1 \rangle & \langle {\bf R}_2, {\bf R}_2 \rangle & \cdots & \langle {\bf R}_2, {\bf R}_{\rm nDim} \rangle & -1 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ \langle {\bf R}_{\rm nDim}, {\bf R}_1 \rangle & \langle {\bf R}_{\rm nDim}, {\bf R}_2 \rangle & \cdots & \langle {\bf R}_{\rm nDim}, {\bf R}_{\rm nDim} \rangle & -1 \\ -1 & -1 & \cdots & -1 & 0 \end{pmatrix}\]

Returns the dot product of the new residual with itself, $\langle {\bf R}_{\rm ithis}, {\bf R}_{\rm ithis} \rangle$.

source