NTPoly
|
A class for computing the density matrix based on minimization methods. More...
#include <MinimizerSolvers.h>
Static Public Member Functions | |
static void | ConjugateGradient (const DistributedSparseMatrix &Hamiltonian, const DistributedSparseMatrix &InverseSquareRoot, int nel, DistributedSparseMatrix &Density, double &chemical_potential_out, const IterativeSolverParameters &solver_parameters) |
Additional Inherited Members | |
Static Protected Member Functions inherited from NTPoly::SolverBase | |
static const int * | GetIH (const DistributedSparseMatrix &dsm) |
static int * | GetIH (DistributedSparseMatrix &dsm) |
static const int * | GetIH (const IterativeSolverParameters &csp) |
static int * | GetIH (IterativeSolverParameters &csp) |
static const int * | GetIH (const FixedSolverParameters &csp) |
static int * | GetIH (FixedSolverParameters &csp) |
A class for computing the density matrix based on minimization methods.
|
static |
Compute the density matrix from a Hamiltonian using the CG method. Based on two papers. The first by Scuseria: Millam, John M., and Gustavo E. Scuseria. "Linear scaling conjugate gradient density matrix search as an alternative to diagonalization for first principles electronic structure calculations." The Journal of chemical physics 106, no. 13 (1997): 5569-5577. The second one by Chalacombe: Challacombe, Matt. "A simplified density matrix minimization for linear scaling self-consistent field theory." The Journal of chemical physics 110, no. 5 (1999): 2332-2342.
Hamiltonian | the matrix to compute the corresponding density from. |
InverseSquareRoot | of the overlap matrix. |
nel | the number of electrons. |
Density | the density matrix computed by this routine. |
chemical_potential_out | the chemical potential calculated. |
solver_parameters | parameters for the solver |