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.

Tue Nov 19 17:11:34 GMT 1996