1SLASQ2(1) LAPACK routine (version 3.1) SLASQ2(1)
2
3
4
6 SLASQ2 - all the eigenvalues of the symmetric positive definite tridi‐
7 agonal matrix associated with the qd array Z to high relative accuracy
8 are computed to high relative accuracy, in the absence of denormaliza‐
9 tion, underflow and overflow
10
12 SUBROUTINE SLASQ2( N, Z, INFO )
13
14 INTEGER INFO, N
15
16 REAL Z( * )
17
19 SLASQ2 computes all the eigenvalues of the symmetric positive definite
20 tridiagonal matrix associated with the qd array Z to high relative
21 accuracy are computed to high relative accuracy, in the absence of
22 denormalization, underflow and overflow.
23
24 To see the relation of Z to the tridiagonal matrix, let L be a unit
25 lower bidiagonal matrix with subdiagonals Z(2,4,6,,..) and let U be an
26 upper bidiagonal matrix with 1's above and diagonal Z(1,3,5,,..). The
27 tridiagonal is L*U or, if you prefer, the symmetric tridiagonal to
28 which it is similar.
29
30 Note : SLASQ2 defines a logical variable, IEEE, which is true on
31 machines which follow ieee-754 floating-point standard in their han‐
32 dling of infinities and NaNs, and false otherwise. This variable is
33 passed to SLAZQ3.
34
35
37 N (input) INTEGER
38 The number of rows and columns in the matrix. N >= 0.
39
40 Z (workspace) REAL array, dimension (4*N)
41 On entry Z holds the qd array. On exit, entries 1 to N hold the
42 eigenvalues in decreasing order, Z( 2*N+1 ) holds the trace, and
43 Z( 2*N+2 ) holds the sum of the eigenvalues. If N > 2, then Z(
44 2*N+3 ) holds the iteration count, Z( 2*N+4 ) holds NDIVS/NIN^2,
45 and Z( 2*N+5 ) holds the percentage of shifts that failed.
46
47 INFO (output) INTEGER
48 = 0: successful exit
49 < 0: if the i-th argument is a scalar and had an illegal value,
50 then INFO = -i, if the i-th argument is an array and the j-entry
51 had an illegal value, then INFO = -(i*100+j) > 0: the algorithm
52 failed = 1, a split was marked by a positive value in E = 2, cur‐
53 rent block of Z not diagonalized after 30*N iterations (in inner
54 while loop) = 3, termination criterion of outer while loop not
55 met (program created more than N unreduced blocks)
56
58 The shifts are accumulated in SIGMA. Iteration count is in ITER. Ping-
59 pong is controlled by PP (alternates between 0 and 1).
60
61
62
63
64 LAPACK routine (version 3.1) November 2006 SLASQ2(1)