|
PROGRESS
master
|
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) |
The prg_normalize module.
| 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.
| 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.
| h_bml | Input/Output Hamiltonian matrix |
Definition at line 32 of file prg_normalize_mod.F90.
| 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.
| h_bml | Input/Output Hamiltonian matrix |
Definition at line 126 of file prg_normalize_mod.F90.
| 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.
| H_bml | Hamiltonian matrix |
| h1 | Scaled minimum Gershgorin bound. |
| hN | Scaled maximum Gershgorin bound. |
| mu | Chemical potential |
Definition at line 59 of file prg_normalize_mod.F90.
| 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
| H_bml | Hamiltonian matrix |
| cnst | Constant based on beta and steps |
| mu | Chemical potential |
Definition at line 83 of file prg_normalize_mod.F90.
|
private |
Definition at line 15 of file prg_normalize_mod.F90.