NTPoly
Functions/Subroutines
minimizersolversmodule Module Reference

A Module For Solving Systems Quantum Chemistry Systems Using Minimization. More...

Functions/Subroutines

subroutine, public conjugategradient (Hamiltonian, InverseSquareRoot, nel, Density, chemical_potential_out, solver_parameters_in)
 Compute the density matrix from a Hamiltonian using the CG method. Based on two papers. The first by Scuseria [3] developed the initial method, and then Challacombe [1] developed a simplified scheme. More...
 

Detailed Description

A Module For Solving Systems Quantum Chemistry Systems Using Minimization.

Function/Subroutine Documentation

◆ conjugategradient()

subroutine, public minimizersolversmodule::conjugategradient ( 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 CG method. Based on two papers. The first by Scuseria [3] developed the initial method, and then Challacombe [1] developed a simplified scheme.

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
Todo:
chemical potential doesn't work.