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

NAME

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

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.  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

ARGUMENTS

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

FURTHER DETAILS

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