![]() |
(git:08825b9)
|
Metric-covariant spectral flattening with existing distributed matrix iterations. More...
Functions/Subroutines | |
| subroutine, public | localizer_flatten_checked (h, s, energy, scale, tolerance, metric_tolerance, gap_tolerance, para_env, flattened, gap, metric_ratio, residuals, status) |
| Establish a positive AO metric and electronic gap before iterating the matrix sign. | |
| subroutine, public | localizer_flatten_dbcsr (h, s, energy, scale, tolerance, para_env, flattened, residuals, status) |
| Form scale*S*sign(S^-1*(H-energy*S)) without dense AO matrices or S^-1/2. | |
Metric-covariant spectral flattening with existing distributed matrix iterations.
| subroutine, public spectral_localizer_flatten::localizer_flatten_checked | ( | type(localizer_matrix_type), intent(inout) | h, |
| type(localizer_matrix_type), intent(inout) | s, | ||
| real(dp), intent(in) | energy, | ||
| real(dp), intent(in) | scale, | ||
| real(dp), intent(in) | tolerance, | ||
| real(dp), intent(in) | metric_tolerance, | ||
| real(dp), intent(in) | gap_tolerance, | ||
| type(mp_para_env_type), pointer | para_env, | ||
| type(localizer_matrix_type), intent(out) | flattened, | ||
| real(dp), dimension(2), intent(out) | gap, | ||
| real(dp), intent(out) | metric_ratio, | ||
| real(dp), dimension(4), intent(out) | residuals, | ||
| integer, intent(out) | status ) |
Establish a positive AO metric and electronic gap before iterating the matrix sign.
| h | Covariant physical Hamiltonian, unchanged |
| s | Covariant physical metric, unchanged |
| energy | Reference energy |
| scale | Positive flattened-band energy |
| tolerance | Matrix-sign residual and Hermiticity tolerance |
| metric_tolerance | Minimum overlap eigenvalue ratio |
| gap_tolerance | Absolute minimum original electronic gap |
| para_env | Communicator |
| flattened | Newly initialized shifted Hamiltonian only on success |
| gap | Original electronic gap lower and upper bounds, not the flattened localizer gap |
| metric_ratio | Overlap eigenvalue ratio |
| residuals | Four matrix-sign residuals |
| status | 0 success, 1 unresolved input gap, -1 input, -2 metric, -4 solver, -6 matrix-sign iteration or structure failure |
Definition at line 58 of file spectral_localizer_flatten.F.
| subroutine, public spectral_localizer_flatten::localizer_flatten_dbcsr | ( | type(localizer_matrix_type), intent(inout) | h, |
| type(localizer_matrix_type), intent(inout) | s, | ||
| real(dp), intent(in) | energy, | ||
| real(dp), intent(in) | scale, | ||
| real(dp), intent(in) | tolerance, | ||
| type(mp_para_env_type), pointer | para_env, | ||
| type(localizer_matrix_type), intent(out) | flattened, | ||
| real(dp), dimension(4), intent(out) | residuals, | ||
| integer, intent(out) | status ) |
Form scale*S*sign(S^-1*(H-energy*S)) without dense AO matrices or S^-1/2.
| h | Covariant Hermitian Hamiltonian; unchanged |
| s | Positive definite AO metric; must be validated by the caller |
| energy | Reference energy, separated from the generalized spectrum at input accuracy |
| scale | Positive energy scale of the flattened bands |
| tolerance | Residual tolerance, not a certificate of the original Hamiltonian gap |
| para_env | DBCSR communicator |
| flattened | Newly initialized covariant operator only on success |
| residuals | Inverse, sign-square, complex-structure and Hermiticity residuals |
| status | 0 success, -1 invalid input, 1 unconverged sign/inverse, 2 broken structure |
Definition at line 125 of file spectral_localizer_flatten.F.