1SLANEG(1) LAPACK auxiliary routine (version 3.1) SLANEG(1)
2
3
4
6 SLANEG - the Sturm count, the number of negative pivots encountered
7 while factoring tridiagonal T - sigma I = L D L^T
8
10 FUNCTION SLANEG( N, D, LLD, SIGMA, PIVMIN, R )
11
12 IMPLICIT NONE
13
14 INTEGER SLANEG
15
16 INTEGER N, R
17
18 REAL PIVMIN, SIGMA
19
20 REAL D( * ), LLD( * )
21
23 SLANEG computes the Sturm count, the number of negative pivots encoun‐
24 tered while factoring tridiagonal T - sigma I = L D L^T. This imple‐
25 mentation works directly on the factors without forming the tridiagonal
26 matrix T. The Sturm count is also the number of eigenvalues of T less
27 than sigma.
28
29 This routine is called from SLARRB.
30
31 The current routine does not use the PIVMIN parameter but rather
32 requires IEEE-754 propagation of Infinities and NaNs. This routine
33 also has no input range restrictions but does require default exception
34 handling such that x/0 produces Inf when x is non-zero, and Inf/Inf
35 produces NaN. For more information, see:
36
37 Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in
38 Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on
39 Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624
40 (Tech report version in LAWN 172 with the same title.)
41
42
44 N (input) INTEGER
45 The order of the matrix.
46
47 D (input) REAL array, dimension (N)
48 The N diagonal elements of the diagonal matrix D.
49
50 LLD (input) REAL array, dimension (N-1)
51 The (N-1) elements L(i)*L(i)*D(i).
52
53 SIGMA (input) REAL
54 Shift amount in T - sigma I = L D L^T.
55
56 PIVMIN (input) REAL
57 The minimum pivot in the Sturm sequence. May be used when zero
58 pivots are encountered on non-IEEE-754 architectures.
59
60 R (input) INTEGER
61 The twist index for the twisted factorization that is used for
62 the negcount.
63
65 Based on contributions by
66 Osni Marques, LBNL/NERSC, USA
67 Christof Voemel, University of California, Berkeley, USA
68 Jason Riedy, University of California, Berkeley, USA
69
70
71
72
73 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006 SLANEG(1)