Each time a single electron move is accepted, the value of the Slater determinant changes. Recalculating the determinant after each move is potentially an extremely costly procedure. Fortunately, there is a method for updating the wavefunction[115, 26] which is much less costly than recalculating the whole determinant every time an electron is moved. The procedure is described here for the specific case of moving a single electron, with spin , from position to position . The method is the same for all electrons and spins.
The quantity that is calculated is the ratio of the new and old determinants. From this ratios, the probability of acceptance of the move can be calculated. The cost of updating the quantities involved in the determinant, if the move is accepted, is greatly reduced by making use of this ratio.
The determinant only involves spin electrons and therefore is not changed by the move. is changed. The matrix has elements
where are the set of N single-particle wavefunctions making up the Slater determinant. When the electron is moved it is only the i column of the matrix which changes.
One way of calculating the determinant of any matrix, , is to use the relation
where is the unit matrix, is the transpose of matrix and is the matrix of cofactors of matrix . The determinant can be calculated by choosing any column, i, of the matrix and summing
For the particular case of moving electron i, it is only the column of which is altered and this does not change any elements of the column of the matrix . The determinant after the move has been made, , can be written as
If the transpose of the inverse matrix is denoted by then, from the definition of the inverse of a matrix,
so
The new determinant, , is written as
and the calculation of the ratio is simply
This ratio, , is the quantity which is required when calculating the probability of the move being accepted.
If the move of electron i, with spin s, is accepted then the matrix is updated in the following manner
The case where k = i comes simply from the definition of in Eq.(). Finding the updated matrix elements when is more complicated.
The new determinant matrix, , is written as the old determinant matrix, , plus a perturbation matrix, . Therefore
where
The following matrix identity is used to find the inverse of a sum of two matrices,
[This identity can be proved by multiplying on the left by (A +B).] Hence,
which can be written in terms of matrix elements as
Using the definition of the matrix elements of for the case of k = i, as defined in Eq.() and expanding out , the equation
is obtained. The last term in the above equation is simply the matrix multiplication which gives . However in this case so the last term is zero. The update equation reduces to
as required.