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 Matrix_ps &Hamiltonian, const Matrix_ps &InverseSquareRoot, int nel, Matrix_ps &Density, double &energy_value_out, double &chemical_potential_out, const SolverParameters &solver_parameters)
 
static void TRS2 (const Matrix_ps &Hamiltonian, const Matrix_ps &InverseSquareRoot, int nel, Matrix_ps &Density, double &energy_value_out, double &chemical_potential_out, const SolverParameters &solver_parameters)
 
static void TRS4 (const Matrix_ps &Hamiltonian, const Matrix_ps &InverseSquareRoot, int nel, Matrix_ps &Density, double &energy_value_out, double &chemical_potential_out, const SolverParameters &solver_parameters)
 
static void HPCP (const Matrix_ps &Hamiltonian, const Matrix_ps &InverseSquareRoot, int nel, Matrix_ps &Density, double &energy_value_out, double &chemical_potential_out, const SolverParameters &solver_parameters)
 
static void DenseSolver (const Matrix_ps &Hamiltonian, const Matrix_ps &InverseSquareRoot, int nel, Matrix_ps &Density, double &energy_value_out, double &chemical_potential_out, const SolverParameters &solver_parameters)
 
static void EnergyDensityMatrix (const Matrix_ps &Hamiltonian, const Matrix_ps &Density, Matrix_ps &EnergyDensity, double threshold=0.0)
 

Additional Inherited Members

- Static Protected Member Functions inherited from NTPoly::SolverBase
static const int * GetIH (const Matrix_ps &dsm)
 
static int * GetIH (Matrix_ps &dsm)
 
static const int * GetIH (const SolverParameters &csp)
 
static int * GetIH (SolverParameters &csp)
 

Detailed Description

A Class For Solving Chemistry Systems Based On Sparse Matrices.

Member Function Documentation

◆ DenseSolver()

void NTPoly::DensityMatrixSolvers::DenseSolver ( const Matrix_ps Hamiltonian,
const Matrix_ps InverseSquareRoot,
int  nel,
Matrix_ps Density,
double &  energy_value_out,
double &  chemical_potential_out,
const SolverParameters solver_parameters 
)
static

Compute the density matrix of a system using the eigendecomposition. Based on the algorithm presented in: [5]

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

◆ EnergyDensityMatrix()

void NTPoly::DensityMatrixSolvers::EnergyDensityMatrix ( const Matrix_ps Hamiltonian,
const Matrix_ps Density,
Matrix_ps EnergyDensity,
double  threshold = 0.0 
)
static

Compute the energy-weighted density matrix.

Parameters
Hamiltonianthe matrix to compute from.
Densitythe density matrix.
EnergyDensitythe energy-weighted density matrix to compute.
thresholdfor flushing small values to zero.

◆ HPCP()

void NTPoly::DensityMatrixSolvers::HPCP ( const Matrix_ps Hamiltonian,
const Matrix_ps InverseSquareRoot,
int  nel,
Matrix_ps Density,
double &  energy_value_out,
double &  chemical_potential_out,
const SolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the HPCP method. Based on the algorithm presented in: [5]

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 Matrix_ps Hamiltonian,
const Matrix_ps InverseSquareRoot,
int  nel,
Matrix_ps Density,
double &  energy_value_out,
double &  chemical_potential_out,
const SolverParameters solver_parameters 
)
static

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

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 Matrix_ps Hamiltonian,
const Matrix_ps InverseSquareRoot,
int  nel,
Matrix_ps Density,
double &  energy_value_out,
double &  chemical_potential_out,
const SolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in: [3].

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 Matrix_ps Hamiltonian,
const Matrix_ps InverseSquareRoot,
int  nel,
Matrix_ps Density,
double &  energy_value_out,
double &  chemical_potential_out,
const SolverParameters solver_parameters 
)
static

Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in: [3] .

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: