1SLASQ2(1)                LAPACK routine (version 3.1)                SLASQ2(1)
2
3
4

NAME

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

SYNOPSIS

12       SUBROUTINE SLASQ2( N, Z, INFO )
13
14           INTEGER        INFO, N
15
16           REAL           Z( * )
17

PURPOSE

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

ARGUMENTS

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

FURTHER DETAILS

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)
Impressum