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
Arguments
| Type |
Intent | Optional | 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)
Arguments
| Type |
Intent | Optional | 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