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