laneg Interface

public interface laneg

LANEG computes the Sturm count, the number of negative pivots encountered while factoring tridiagonal T - sigma I = L D L^T. This implementation works directly on the factors without forming the tridiagonal matrix T. The Sturm count is also the number of eigenvalues of T less than sigma. This routine is called from DLARRB. The current routine does not use the PIVMIN parameter but rather requires IEEE-754 propagation of Infinities and NaNs. This routine also has no input range restrictions but does require default exception handling such that x/0 produces Inf when x is non-zero, and Inf/Inf produces NaN. For more information, see: Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624 (Tech report version in LAWN 172 with the same title.)


Functions

public pure function dlaneg(n, d, lld, sigma, pivmin, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(in) :: d(*)
real(kind=dp), intent(in) :: lld(*)
real(kind=dp), intent(in) :: sigma
real(kind=dp), intent(in) :: pivmin
integer(kind=ilp), intent(in) :: r

Return Value integer(kind=ilp)

public pure function slaneg(n, d, lld, sigma, pivmin, r)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(in) :: d(*)
real(kind=sp), intent(in) :: lld(*)
real(kind=sp), intent(in) :: sigma
real(kind=sp), intent(in) :: pivmin
integer(kind=ilp), intent(in) :: r

Return Value integer(kind=ilp)

Module Procedures

public interface stdlib_dlaneg()

Arguments

None

public interface stdlib_slaneg()

Arguments

None