next up previous contents
Next: References Up: No Title Previous: Conclusions

Updating the Slater Determinant


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 tex2html_wrap_inline8371 , from position tex2html_wrap_inline6315 to position tex2html_wrap_inline8375 . 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 tex2html_wrap_inline8377 only involves spin tex2html_wrap_inline8379 electrons and therefore is not changed by the move. tex2html_wrap_inline8381 is changed. The matrix tex2html_wrap_inline8383 has elements


where tex2html_wrap_inline8385 are the set of N single-particle wavefunctions making up the Slater determinant. When the electron is moved it is only the i tex2html_wrap_inline6553 column of the matrix which changes.

One way of calculating the determinant of any matrix, tex2html_wrap_inline8391 , is to use the relation


where tex2html_wrap_inline8393 is the unit matrix, tex2html_wrap_inline8395 is the transpose of matrix tex2html_wrap_inline8391 and tex2html_wrap_inline8399 is the matrix of cofactors of matrix tex2html_wrap_inline8391 . 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 tex2html_wrap_inline6451 column of tex2html_wrap_inline8383 which is altered and this does not change any elements of the tex2html_wrap_inline6451 column of the matrix tex2html_wrap_inline8413 . The determinant after the move has been made, tex2html_wrap_inline8415 , can be written as


If the transpose of the inverse matrix is denoted by tex2html_wrap_inline8417 then, from the definition of the inverse of a matrix,




The new determinant, tex2html_wrap_inline8419 , is written as


and the calculation of the ratio tex2html_wrap_inline8421 is simply


This ratio, tex2html_wrap_inline8423 , 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 tex2html_wrap_inline8429 is updated in the following manner


The case where k = i comes simply from the definition of tex2html_wrap_inline8433 in Eq.(gif). Finding the updated tex2html_wrap_inline8433 matrix elements when tex2html_wrap_inline8437 is more complicated.

The new determinant matrix, tex2html_wrap_inline8439 , is written as the old determinant matrix, tex2html_wrap_inline8441 , plus a perturbation matrix, tex2html_wrap_inline7943 . Therefore




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 tex2html_wrap_inline8445 for the case of k = i, as defined in Eq.(gif) and expanding out tex2html_wrap_inline8449 , the equation


is obtained. The last term in the above equation tex2html_wrap_inline8451 is simply the matrix multiplication tex2html_wrap_inline8453 which gives tex2html_wrap_inline8455 . However in this case tex2html_wrap_inline8437 so the last term is zero. The update equation reduces to


as required.

next up previous contents
Next: References Up: No Title Previous: Conclusions

Andrew Williamson
Tue Nov 19 17:11:34 GMT 1996