NTPoly
Functions/Subroutines
densitymatrixsolversmodule Module Reference

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

Functions/Subroutines

subroutine, public pm (Hamiltonian, InverseSquareRoot, nel, Density, energy_value_out, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the PM method. Based on the PM algorithm presented in [10]. More...
 
subroutine, public trs2 (Hamiltonian, InverseSquareRoot, nel, Density, energy_value_out, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the TRS2 method. Based on the TRS2 algorithm presented in [8]. More...
 
subroutine, public trs4 (Hamiltonian, InverseSquareRoot, nel, Density, energy_value_out, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the TRS4 method. Based on the TRS4 algorithm presented in [8]. More...
 
subroutine, public hpcp (Hamiltonian, InverseSquareRoot, nel, Density, energy_value_out, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the HPCP method. Based on the algorithm presented in [11]. 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  energy_value_out,
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 [11].

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]energy_value_outthe energy of the system (optional).
[out]chemical_potential_outthe chemical potential (optional).
[in]solver_parameters_inparameters for the solver (optional).

◆ pm()

subroutine, public densitymatrixsolversmodule::pm ( 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  energy_value_out,
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 PM method. Based on the PM algorithm presented in [10].

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]energy_value_outthe energy of the system (optional).
[out]chemical_potential_outthe chemical potential (optional).
[in]solver_parameters_inparameters for the solver (optional)

◆ 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  energy_value_out,
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 [8].

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]energy_value_outthe energy of the system (optional).
[out]chemical_potential_outthe chemical potential (optional).
[in]solver_parameters_inparameters for the solver (optional)

◆ 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  energy_value_out,
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 [8].

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]energy_value_outthe energy of the system (optional).
[out]chemical_potential_outthe chemical potential (optional).
[in]solver_parameters_inparameters for the solver (optional).