NTPoly
Functions/Subroutines
densitymatrixsolversmodule Module Reference

A Module For Solving Quantum Chemistry Systems using Purification. More...

Functions/Subroutines

subroutine, public trs2 (Hamiltonian, InverseSquareRoot, nel, Density, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in [4]. More...
 
subroutine, public trs4 (Hamiltonian, InverseSquareRoot, nel, Density, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in [4]. More...
 
subroutine, public hpcp (Hamiltonian, InverseSquareRoot, nel, Density, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the HPCP method. Based on the algorithm presented in [6]. More...
 
subroutine, public hpcpplus (Hamiltonian, InverseSquareRoot, nel, Density, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the HPCP+ method. Based on the algorithm presented in [6]. More...
 

Detailed Description

A Module For Solving Quantum Chemistry Systems using Purification.

Function/Subroutine Documentation

◆ hpcp()

subroutine, public densitymatrixsolversmodule::hpcp ( type(distributedsparsematrix_t), intent(in)  Hamiltonian,
type(distributedsparsematrix_t), intent(in)  InverseSquareRoot,
integer, intent(in)  nel,
type(distributedsparsematrix_t), intent(inout)  Density,
real(ntreal), intent(out), optional  chemical_potential_out,
type(iterativesolverparameters_t), intent(in), optional  solver_parameters_in 
)

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

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

◆ hpcpplus()

subroutine, public densitymatrixsolversmodule::hpcpplus ( type(distributedsparsematrix_t), intent(in)  Hamiltonian,
type(distributedsparsematrix_t), intent(in)  InverseSquareRoot,
integer, intent(in)  nel,
type(distributedsparsematrix_t), intent(inout)  Density,
real(ntreal), intent(out), optional  chemical_potential_out,
type(iterativesolverparameters_t), intent(in), optional  solver_parameters_in 
)

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

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

◆ trs2()

subroutine, public densitymatrixsolversmodule::trs2 ( type(distributedsparsematrix_t), intent(in)  Hamiltonian,
type(distributedsparsematrix_t), intent(in)  InverseSquareRoot,
integer, intent(in)  nel,
type(distributedsparsematrix_t), intent(inout)  Density,
real(ntreal), intent(out), optional  chemical_potential_out,
type(iterativesolverparameters_t), intent(in), optional  solver_parameters_in 
)

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

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

◆ trs4()

subroutine, public densitymatrixsolversmodule::trs4 ( type(distributedsparsematrix_t), intent(in)  Hamiltonian,
type(distributedsparsematrix_t), intent(in)  InverseSquareRoot,
integer, intent(in)  nel,
type(distributedsparsematrix_t), intent(inout)  Density,
real(ntreal), intent(out), optional  chemical_potential_out,
type(iterativesolverparameters_t), intent(in), optional  solver_parameters_in 
)

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

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