A C++ Matrix library for computing the Gateaux derivative of the Fermi-Dirac operator

University essay from Uppsala universitet/Avdelningen för beräkningsvetenskap

Abstract: Computing the Fermi-Dirac operator is done through recursive polynomial expansions, using the SP2 and SP2 Acc algorithms. The Gateaux derivative is computed for both schemes by mapping the zeroth and first order matrices onto a block upper triangular matrix, which is implemented in Python using Numpy arrays to store full matrices and in C++ by first constructing a basic matrix library to use as blocks in a later created block upper triangular matrix library which only directly references two blocks in a 2 x 2 block matrix. Computations of the Fermi-Dirac operator were carried out on artificially created Hamiltonians to verify correct implementations, as well on real life examples of Fock matrices resulting from ergo calculations on water clusters(http://ergoscf.org/). It was found that the relative error in the first order response in the density matrix was not different when using SP2 Acc compared to when using SP2.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)