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

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

◆ PM()

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

Compute the density matrix from a Hamiltonian using the PM method. Based on the PM algorithm presented in [10]

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
energy_value_outthe energy of the system (optional).
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 &  energy_value_out,
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: [8].

Parameters
Hamiltonianthe matrix to compute the corresponding density from.
InverseSquareRootof the overlap matrix.
nelthe number of electrons.
Densitythe density matrix computed by this routine.
energy_value_outthe energy of the system (optional).
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 &  energy_value_out,
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: [8] .

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

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