PROGRESS  master
prg_normalize_mod Module Reference

The prg_normalize module. More...

Functions/Subroutines

subroutine, public prg_normalize (h_bml)
 Normalize a Hamiltonian matrix prior to running the SP2 algorithm. More...
 
subroutine, public prg_normalize_fermi (h_bml, h1, hN, mu)
 Normalize a Hamiltonian matrix prior to running the truncated SP2 algorithm. More...
 
subroutine, public prg_normalize_implicit_fermi (h_bml, cnst, mu)
 Normalize a Hamiltonian matrix prior to running the implicit fermi dirac algorithm. More...
 
subroutine, public prg_gershgorinreduction (gp)
 Determine gershgorin bounds across all parts, local and distributed. More...
 
subroutine, public prg_normalize_cheb (h_bml, mu, emin, emax, alpha, scaledmu)
 Normalize a Hamiltonian matrix prior to running the Chebyshev algorithm. More...
 

Variables

integer, parameter dp = kind(1.0d0)
 

Detailed Description

The prg_normalize module.

Function/Subroutine Documentation

◆ prg_gershgorinreduction()

subroutine, public prg_normalize_mod::prg_gershgorinreduction ( type(graph_partitioning_t), intent(inout)  gp)

Determine gershgorin bounds across all parts, local and distributed.

Definition at line 97 of file prg_normalize_mod.F90.

◆ prg_normalize()

subroutine, public prg_normalize_mod::prg_normalize ( type(bml_matrix_t), intent(inout)  h_bml)

Normalize a Hamiltonian matrix prior to running the SP2 algorithm.

X0 = (e_max * I - H) / (e_max - e_min)

where e_max and e_min are obtained sing the Gershgorin circle theorem.

Parameters
h_bmlInput/Output Hamiltonian matrix

Definition at line 32 of file prg_normalize_mod.F90.

◆ prg_normalize_cheb()

subroutine, public prg_normalize_mod::prg_normalize_cheb ( type(bml_matrix_t), intent(inout)  h_bml,
real(dp), intent(in)  mu,
real(dp), intent(in)  emin,
real(dp), intent(in)  emax,
real(dp), intent(inout)  alpha,
real(dp), intent(inout)  scaledmu 
)

Normalize a Hamiltonian matrix prior to running the Chebyshev algorithm.

X0 = 2*(H - e_min*I) / (e_max - e_min) - I

where e_max and e_min are obtained sing the Gershgorin circle theorem.

Parameters
h_bmlInput/Output Hamiltonian matrix

Definition at line 126 of file prg_normalize_mod.F90.

◆ prg_normalize_fermi()

subroutine, public prg_normalize_mod::prg_normalize_fermi ( type(bml_matrix_t), intent(inout)  h_bml,
real(dp), intent(in)  h1,
real(dp), intent(in)  hN,
real(dp), intent(in)  mu 
)

Normalize a Hamiltonian matrix prior to running the truncated SP2 algorithm.

X0 = ((hN-mu) * I - H) / (hN - h1) or X0 = (hN*I-H0-mu*I)/(hN-h1)

where h1 and hN are scaled Gershgorin bounds.

Parameters
H_bmlHamiltonian matrix
h1Scaled minimum Gershgorin bound.
hNScaled maximum Gershgorin bound.
muChemical potential

Definition at line 59 of file prg_normalize_mod.F90.

◆ prg_normalize_implicit_fermi()

subroutine, public prg_normalize_mod::prg_normalize_implicit_fermi ( type(bml_matrix_t), intent(inout)  h_bml,
real(dp), intent(in)  cnst,
real(dp), intent(in)  mu 
)

Normalize a Hamiltonian matrix prior to running the implicit fermi dirac algorithm.

X0 = 0.5*II - cnst*(H0-mu0*II) or X0 = (0.5 + cnst * mu0)*II -cnst* H0

Parameters
H_bmlHamiltonian matrix
cnstConstant based on beta and steps
muChemical potential

Definition at line 83 of file prg_normalize_mod.F90.

Variable Documentation

◆ dp

integer, parameter prg_normalize_mod::dp = kind(1.0d0)
private

Definition at line 15 of file prg_normalize_mod.F90.