(git:6344619)
Loading...
Searching...
No Matches
low_rank_preconditioner_model Module Reference

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.

Detailed Description

Small algebraic helpers for the rotationally covariant low-rank OT preconditioner.

Function/Subroutine Documentation

◆ low_rank_inverse_weight()

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.

Parameters
eigenvaluecomplementary-state eigenvalue
referencecommon occupied reference level
energy_gaplower bound for the denominator
Returns
inverse spectral weight

Definition at line 28 of file low_rank_preconditioner_model.F.

Here is the caller graph for this function:

◆ low_rank_select_rank()

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.

Parameters
eigenvaluesordered full-space eigenvalues
noccnumber of occupied states at the start of eigenvalues
max_rankhard upper bound
degeneracy_tolerancerelative degeneracy threshold
Returns
selected rank

Definition at line 48 of file low_rank_preconditioner_model.F.

Here is the caller graph for this function: