![]() |
(git:5e7fe52)
|
Small algebraic helpers for the rotationally covariant low-rank OT preconditioner. More...
Functions/Subroutines | |
| pure elemental real(kind=dp) function, public | low_rank_inverse_weight (eigenvalue, reference, energy_gap) |
| Spectral inverse weight relative to a common occupied reference level. | |
| pure integer function, public | low_rank_select_rank (eigenvalues, nocc, max_rank, degeneracy_tolerance) |
| Select a bounded spectral rank without cutting a degenerate boundary manifold. | |
| pure subroutine, public | apply_low_rank_dense (overlap_inverse, vectors, eigenvalues, reference, energy_gap, spectral_window, matrix_in, matrix_out) |
| Dense reference application used to verify right covariance under orbital rotations. | |
Small algebraic helpers for the rotationally covariant low-rank OT preconditioner.
| pure elemental real(kind=dp) function, public low_rank_preconditioner_model::low_rank_inverse_weight | ( | real(kind=dp), intent(in) | eigenvalue, |
| real(kind=dp), intent(in) | reference, | ||
| real(kind=dp), intent(in) | energy_gap ) |
Spectral inverse weight relative to a common occupied reference level.
| eigenvalue | complementary-state eigenvalue |
| reference | common occupied reference level |
| energy_gap | lower bound for the denominator |
Definition at line 28 of file low_rank_preconditioner_model.F.
| pure integer function, public low_rank_preconditioner_model::low_rank_select_rank | ( | real(kind=dp), dimension(:), intent(in) | eigenvalues, |
| integer, intent(in) | nocc, | ||
| integer, intent(in) | max_rank, | ||
| real(kind=dp), intent(in) | degeneracy_tolerance ) |
Select a bounded spectral rank without cutting a degenerate boundary manifold.
| eigenvalues | ordered full-space eigenvalues |
| nocc | number of occupied states at the start of eigenvalues |
| max_rank | hard upper bound |
| degeneracy_tolerance | relative degeneracy threshold |
Definition at line 48 of file low_rank_preconditioner_model.F.
| pure subroutine, public low_rank_preconditioner_model::apply_low_rank_dense | ( | real(kind=dp), dimension(:, :), intent(in) | overlap_inverse, |
| real(kind=dp), dimension(:, :), intent(in) | vectors, | ||
| real(kind=dp), dimension(:), intent(in) | eigenvalues, | ||
| real(kind=dp), intent(in) | reference, | ||
| real(kind=dp), intent(in) | energy_gap, | ||
| real(kind=dp), intent(in) | spectral_window, | ||
| real(kind=dp), dimension(:, :), intent(in) | matrix_in, | ||
| real(kind=dp), dimension(:, :), intent(out) | matrix_out ) |
Dense reference application used to verify right covariance under orbital rotations.
| overlap_inverse | inverse overlap matrix |
| vectors | retained complementary-state vectors |
| eigenvalues | retained complementary-state eigenvalues |
| reference | common occupied reference level |
| energy_gap | lower bound for spectral denominators |
| spectral_window | overlap-inverse replacement window |
| matrix_in | input orbital-gradient matrix |
| matrix_out | preconditioned matrix |
Definition at line 86 of file low_rank_preconditioner_model.F.