NTPoly
Static Public Member Functions | List of all members
NTPoly::DensityMatrixSolvers Class Reference

A Class For Solving Chemistry Systems Based On Sparse Matrices. More...

#include <DensityMatrixSolvers.h>

Inheritance diagram for NTPoly::DensityMatrixSolvers:
NTPoly::SolverBase

Static Public Member Functions

static void TRS2 (const DistributedSparseMatrix &Hamiltonian, const DistributedSparseMatrix &InverseSquareRoot, int nel, DistributedSparseMatrix &Density, double &chemical_potential_out, const IterativeSolverParameters &solver_parameters)
 
static void TRS4 (const DistributedSparseMatrix &Hamiltonian, const DistributedSparseMatrix &InverseSquareRoot, int nel, DistributedSparseMatrix &Density, double &chemical_potential_out, const IterativeSolverParameters &solver_parameters)
 
static void HPCP (const DistributedSparseMatrix &Hamiltonian, const DistributedSparseMatrix &InverseSquareRoot, int nel, DistributedSparseMatrix &Density, double &chemical_potential_out, const IterativeSolverParameters &solver_parameters)
 
static void HPCPPlus (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)
 

Detailed Description

A Class For Solving Chemistry Systems Based On Sparse Matrices.

Member Function Documentation

◆ HPCP()

void NTPoly::DensityMatrixSolvers::HPCP ( const DistributedSparseMatrix Hamiltonian,
const DistributedSparseMatrix InverseSquareRoot,
int  nel,
DistributedSparseMatrix Density,
double &  chemical_potential_out,
const IterativeSolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the TDB method. Based on the algorithm presented in: Truflandier, Lionel A., Rivo M. Dianzinga, and David R. Bowler. "Communication: Generalized canonical purification for density matrix minimization." The Journal of chemical physics 144, no. 9 (2016): 091102

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
chemical_potential_outthe chemical potential calculated.
solver_parametersparameters for the solver

◆ HPCPPlus()

void NTPoly::DensityMatrixSolvers::HPCPPlus ( const DistributedSparseMatrix Hamiltonian,
const DistributedSparseMatrix InverseSquareRoot,
int  nel,
DistributedSparseMatrix Density,
double &  chemical_potential_out,
const IterativeSolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the HPCP+ method. Based on the algorithm presented in: Truflandier, Lionel A., Rivo M. Dianzinga, and David R. Bowler. "Communication: Generalized canonical purification for density matrix minimization." The Journal of chemical physics 144, no. 9 (2016): 091102

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
chemical_potential_outthe chemical potential calculated.
solver_parametersparameters for the solver

◆ TRS2()

void NTPoly::DensityMatrixSolvers::TRS2 ( const DistributedSparseMatrix Hamiltonian,
const DistributedSparseMatrix InverseSquareRoot,
int  nel,
DistributedSparseMatrix Density,
double &  chemical_potential_out,
const IterativeSolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in: Niklasson, Anders MN. "Expansion algorithm for the density matrix." Physical Review B 66, no. 15 (2002): 155115.

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
chemical_potential_outthe chemical potential calculated.
solver_parametersparameters for the solver

◆ TRS4()

void NTPoly::DensityMatrixSolvers::TRS4 ( const DistributedSparseMatrix Hamiltonian,
const DistributedSparseMatrix InverseSquareRoot,
int  nel,
DistributedSparseMatrix Density,
double &  chemical_potential_out,
const IterativeSolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in: Niklasson, Anders MN. "Expansion algorithm for the density matrix." Physical Review B 66, no. 15 (2002): 155115.

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
chemical_potential_outthe chemical potential calculated.
solver_parametersparameters for the solver

The documentation for this class was generated from the following files: