|
PROGRESS
master
|
To produce a matrix \(Z\) which is needed to orthogonalize \(H\). More...
Data Types | |
| type | genzspinp |
| Input for the genz driver. This type controlls all the variables that are needed by genz. More... | |
Functions/Subroutines | |
| subroutine, public | prg_parse_zsp (input, filename) |
| The parser for genz solver. More... | |
| subroutine, public | prg_init_zspmat (igenz, zk1_bml, zk2_bml, zk3_bml, zk4_bml, zk5_bml, zk6_bml, norb, bml_type, bml_element_type) |
| Initiates the matrices for the Xl integration of Z. More... | |
| subroutine, public | prg_buildzdiag (smat_bml, zmat_bml, threshold, mdimin, bml_type, verbose) |
| Usual subroutine involving diagonalization. \( Z=U\sqrt{s}U^{\dagger} \), where \( U \) = eigenvectors and \( s \) = eigenvalues. The purpose of this subroutine is to have an exact way of computing z for comparing with the sparse approach. More... | |
| subroutine, public | prg_buildzsparse (smat_bml, zmat_bml, igenz, mdim, bml_type, zk1_bml, zk2_bml, zk3_bml, zk4_bml, zk5_bml, zk6_bml, nfirst, nrefi, nreff, thresholdi, thresholdf, integration, verbose) |
| Inverse factorization using Niklasson's algorithm. More... | |
| subroutine, public | prg_genz_sp_initialz0 (smat_bml, zmat_bml, norb, mdim, bml_type_f, threshold) |
| Initial estimation of Z. More... | |
| subroutine, public | prg_genz_sp_initial_zmat (smat_bml, zmat_bml, norb, mdim, bml_type_f, threshold) |
| Initial estimation of Z. More... | |
| subroutine | prg_genz_sp_int (zmat_bml, zk1_bml, zk2_bml, zk3_bml, zk4_bml, zk5_bml, zk6_bml, igenz, norb, bml_type, threshold) |
| Inverse factorization using Niklasson's algorithm. More... | |
| subroutine, public | prg_genz_sp_ref (smat_bml, zmat_bml, nref, norb, bml_type, threshold) |
| Iterative refinement. More... | |
Variables | |
| integer, parameter | dp = kind(1.0d0) |
To produce a matrix \(Z\) which is needed to orthogonalize \(H\).
\( H_{orth} = Z^{\dagger}HZ \) See Negre 2016 [2]
| subroutine, public prg_genz_mod::prg_buildzdiag | ( | type(bml_matrix_t), intent(inout) | smat_bml, |
| type(bml_matrix_t) | zmat_bml, | ||
| real(dp) | threshold, | ||
| integer, intent(in) | mdimin, | ||
| character(len=*), intent(in) | bml_type, | ||
| integer, intent(in), optional | verbose | ||
| ) |
Usual subroutine involving diagonalization. \( Z=U\sqrt{s}U^{\dagger} \), where \( U \) = eigenvectors and \( s \) = eigenvalues. The purpose of this subroutine is to have an exact way of computing z for comparing with the sparse approach.
| smat_bml | Overlap matrix in bml format. |
| zmat_bml | Congruence transform in bml format. |
| threshold | Threshold value to use, in this case, only in the backtransformation to ellpack format. |
| mdim | Maximun nonzero to use, in this case, only in the backtransformation to ellpack format. |
| bml_type | the bml type we are passing. |
Definition at line 174 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_buildzsparse | ( | type(bml_matrix_t) | smat_bml, |
| type(bml_matrix_t) | zmat_bml, | ||
| integer | igenz, | ||
| integer | mdim, | ||
| character(20) | bml_type, | ||
| type(bml_matrix_t) | zk1_bml, | ||
| type(bml_matrix_t) | zk2_bml, | ||
| type(bml_matrix_t) | zk3_bml, | ||
| type(bml_matrix_t) | zk4_bml, | ||
| type(bml_matrix_t) | zk5_bml, | ||
| type(bml_matrix_t) | zk6_bml, | ||
| integer | nfirst, | ||
| integer | nrefi, | ||
| integer | nreff, | ||
| real(dp) | thresholdi, | ||
| real(dp) | thresholdf, | ||
| logical | integration, | ||
| integer | verbose | ||
| ) |
Inverse factorization using Niklasson's algorithm.
| smat_bml | overlap matrix |
| zmat_bml | congruence transform to be updated or computed. (bml format) |
| igenz | counter to keep track of the calls to this subroutine. |
| mdim | dimension of the maxnonzero per row. |
| zk1_bml-zk6_bml | history of the past congruence transforms. |
| nfirst | first pre septs with nrefi and thresholdi. |
| nrefi | number of refinement iterations for the firsts "nfirst" steps. |
| nreff | number of refinement iterations for the rest of the steps. |
| integration | if we want to apply xl integration scheme for z (default is always .true.) |
| verbose | to print extra information. |
Definition at line 272 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_genz_sp_initial_zmat | ( | type(bml_matrix_t), intent(in) | smat_bml, |
| type(bml_matrix_t) | zmat_bml, | ||
| integer | norb, | ||
| integer | mdim, | ||
| character(20) | bml_type_f, | ||
| real(dp), intent(in) | threshold | ||
| ) |
Initial estimation of Z.
| smat_bml | Overlap matrix in bml format. |
| zmat_bml | Congruence transform in bml format. |
| norb | Congruence transform in bml format. |
| mdim | Congruence transform in bml format. |
| bml_type_f | The bml final type of zmat_bml. |
| threshold | Threshold value to use, in this case, only in the backtransformation to ellpack format. |
Definition at line 478 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_genz_sp_initialz0 | ( | type(bml_matrix_t), intent(in) | smat_bml, |
| type(bml_matrix_t) | zmat_bml, | ||
| integer | norb, | ||
| integer | mdim, | ||
| character(20) | bml_type_f, | ||
| real(dp) | threshold | ||
| ) |
Initial estimation of Z.
| smat_bml | Overlap matrix in bml format. |
| zmat_bml | Congruence transform in bml format. |
| norb | Congruence transform in bml format. |
| mdim | Congruence transform in bml format. |
| bml_type_f | The bml final type of zmat_bml. |
| threshold | Threshold value to use, in this case, only in the backtransformation to ellpack format. |
Definition at line 338 of file prg_genz_mod.F90.
|
private |
Inverse factorization using Niklasson's algorithm.
| smat_bml | overlap matrix |
| zmat_bml | congruence transform to be updated or computed. (bml format) |
| mdim | dimension of the maxnonzero per row. |
| zk1_bml-zk6_bml | history of the past congruence transforms. |
| igenz | counter to keep track of the calls to this subroutine. |
| norb | Congruence transform in bml format. |
| bml_type_f | The bml final type of zmat_bml. |
| threshold | Threshold value to use. |
Definition at line 633 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_genz_sp_ref | ( | type(bml_matrix_t), intent(in) | smat_bml, |
| type(bml_matrix_t), intent(inout) | zmat_bml, | ||
| integer, intent(in) | nref, | ||
| integer, intent(inout) | norb, | ||
| character(20), intent(in) | bml_type, | ||
| real(dp), intent(in) | threshold | ||
| ) |
Iterative refinement.
| smat_bml | overlap matrix |
| zmat_bml | congruence transform to be updated or computed. (bml format) |
| nref | Number of refinement iterations. |
| bml_type_f | The bml final type of zmat_bml. |
| threshold | Threshold value to use. |
| verbose | to print extra information. |
Definition at line 719 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_init_zspmat | ( | integer | igenz, |
| type(bml_matrix_t) | zk1_bml, | ||
| type(bml_matrix_t) | zk2_bml, | ||
| type(bml_matrix_t) | zk3_bml, | ||
| type(bml_matrix_t) | zk4_bml, | ||
| type(bml_matrix_t) | zk5_bml, | ||
| type(bml_matrix_t) | zk6_bml, | ||
| integer | norb, | ||
| character(20) | bml_type, | ||
| character(20), optional | bml_element_type | ||
| ) |
Initiates the matrices for the Xl integration of Z.
| self | input zsp variables |
| zk1_bml-zk6_bml | history record of the previous Z matrices. |
| norb | number of orbitals. |
| bml_type | the bml format we are passing. |
Definition at line 133 of file prg_genz_mod.F90.
| subroutine, public prg_genz_mod::prg_parse_zsp | ( | type(genzspinp), intent(inout) | input, |
| character(len=*) | filename | ||
| ) |
The parser for genz solver.
Definition at line 67 of file prg_genz_mod.F90.
|
private |
Definition at line 18 of file prg_genz_mod.F90.