A Module For Solving Quantum Chemistry Systems using Purification.
More...
|
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...
|
|
A Module For Solving Quantum Chemistry Systems using Purification.
◆ 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] | Hamiltonian | the matrix to compute the corresponding density from |
[in] | InverseSquareRoot | of the overlap matrix. |
[in] | nel | the number of electrons. |
[out] | Density | the density matrix computed by this routine. |
[out] | energy_value_out | the energy of the system (optional). |
[out] | chemical_potential_out | the chemical potential (optional). |
[in] | solver_parameters_in | parameters 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] | Hamiltonian | the matrix to compute the corresponding density from |
[in] | InverseSquareRoot | of the overlap matrix. |
[in] | nel | the number of electrons. |
[out] | Density | the density matrix computed by this routine. |
[out] | energy_value_out | the energy of the system (optional). |
[out] | chemical_potential_out | the chemical potential (optional). |
[in] | solver_parameters_in | parameters 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] | Hamiltonian | the matrix to compute the corresponding density from |
[in] | InverseSquareRoot | of the overlap matrix. |
[in] | nel | the number of electrons. |
[out] | Density | the density matrix computed by this routine. |
[out] | energy_value_out | the energy of the system (optional). |
[out] | chemical_potential_out | the chemical potential (optional). |
[in] | solver_parameters_in | parameters 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] | Hamiltonian | the matrix to compute the corresponding density from |
[in] | InverseSquareRoot | of the overlap matrix. |
[in] | nel | the number of electrons. |
[out] | Density | the density matrix computed by this routine. |
[out] | energy_value_out | the energy of the system (optional). |
[out] | chemical_potential_out | the chemical potential (optional). |
[in] | solver_parameters_in | parameters for the solver (optional). |