FermiOperatorModule Module

A Module For Computing The Density Matrix Using the Fermi Operator Expansion



Contents


Subroutines

public subroutine ComputeDenseFOE(H, ISQ, trace, K, inv_temp_in, energy_value_out, chemical_potential_out, solver_parameters_in)

Compute the density matrix using a dense routine.

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: H

The matrix to compute the corresponding density from.

type(Matrix_ps), intent(in) :: ISQ

The inverse square root of the overlap matrix.

real(kind=NTREAL), intent(in) :: trace

The trace of the density matrix (usually the number of electrons)

type(Matrix_ps), intent(inout) :: K

The density matrix computed by this routine.

real(kind=NTREAL), intent(in), optional :: inv_temp_in

The inverse temperature for smearing in a.u. (optional).

real(kind=NTREAL), intent(out), optional :: energy_value_out

The energy of the system (optional).

real(kind=NTREAL), intent(out), optional :: chemical_potential_out

The chemical potential (optional).

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for the solver (optional).

public subroutine WOM_GC(H, ISQ, K, chemical_potential, inv_temp, energy_value_out, solver_parameters_in)

Compute the density matrix according to the wave operator minization

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: H

The matrix to compute the corresponding density from.

type(Matrix_ps), intent(in) :: ISQ

The inverse square root of the overlap matrix.

type(Matrix_ps), intent(inout) :: K

The density matrix computed by this routine.

real(kind=NTREAL), intent(in) :: chemical_potential

The chemical potential.

real(kind=NTREAL), intent(in) :: inv_temp

The inverse temperature for smearing in a.u.

real(kind=NTREAL), intent(out), optional :: energy_value_out

The energy of the system (optional).

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for the solver (optional).

public subroutine WOM_C(H, ISQ, K, trace, inv_temp, energy_value_out, solver_parameters_in)

Compute the density matrix according to the wave operator minization

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: H

The matrix to compute the corresponding density from.

type(Matrix_ps), intent(in) :: ISQ

The inverse square root of the overlap matrix.

type(Matrix_ps), intent(inout) :: K

The density matrix computed by this routine.

real(kind=NTREAL), intent(in) :: trace

The target trace.

real(kind=NTREAL), intent(in) :: inv_temp

The inverse temperature for smearing in a.u.

real(kind=NTREAL), intent(out), optional :: energy_value_out

The energy of the system (optional).

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for the solver (optional).