slasq2.f man page

slasq2.f —

Synopsis

Functions/Subroutines

subroutine slasq2 (N, Z, INFO)
SLASQ2 computes all the eigenvalues of the symmetric positive definite tridiagonal matrix associated with the qd Array Z to high relative accuracy. Used by sbdsqr and sstegr.

Function/Subroutine Documentation

subroutine slasq2 (integerN, real, dimension( * )Z, integerINFO)

SLASQ2 computes all the eigenvalues of the symmetric positive definite tridiagonal matrix associated with the qd Array Z to high relative accuracy. Used by sbdsqr and sstegr.

Purpose:

SLASQ2 computes all the eigenvalues of the symmetric positive 
definite tridiagonal matrix associated with the qd array Z to high
relative accuracy are computed to high relative accuracy, in the
absence of denormalization, underflow and overflow.

To see the relation of Z to the tridiagonal matrix, let L be a
unit lower bidiagonal matrix with subdiagonals Z(2,4,6,,..) and
let U be an upper bidiagonal matrix with 1's above and diagonal
Z(1,3,5,,..). The tridiagonal is L*U or, if you prefer, the
symmetric tridiagonal to which it is similar.

Note : SLASQ2 defines a logical variable, IEEE, which is true
on machines which follow ieee-754 floating-point standard in their
handling of infinities and NaNs, and false otherwise. This variable
is passed to SLASQ3.

Parameters:

N

  N is INTEGER
The number of rows and columns in the matrix. N >= 0.

Z

  Z is REAL array, dimension ( 4*N )
On entry Z holds the qd array. On exit, entries 1 to N hold
the eigenvalues in decreasing order, Z( 2*N+1 ) holds the
trace, and Z( 2*N+2 ) holds the sum of the eigenvalues. If
N > 2, then Z( 2*N+3 ) holds the iteration count, Z( 2*N+4 )
holds NDIVS/NIN^2, and Z( 2*N+5 ) holds the percentage of
shifts that failed.

INFO

  INFO is INTEGER
= 0: successful exit
< 0: if the i-th argument is a scalar and had an illegal
     value, then INFO = -i, if the i-th argument is an
     array and the j-entry had an illegal value, then
     INFO = -(i*100+j)
> 0: the algorithm failed
      = 1, a split was marked by a positive value in E
      = 2, current block of Z not diagonalized after 100*N
           iterations (in inner while loop).  On exit Z holds
           a qd array with the same eigenvalues as the given Z.
      = 3, termination criterion of outer while loop not met 
           (program created more than N unreduced blocks)

Author:

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date:

September 2012

Further Details:

Local Variables: I0:N0 defines a current unreduced segment of Z.
The shifts are accumulated in SIGMA. Iteration count is in ITER.
Ping-pong is controlled by PP (alternates between 0 and 1).

Definition at line 113 of file slasq2.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Referenced By

slasq2(3) is an alias of slasq2.f(3).

Sat Nov 16 2013 Version 3.4.2 LAPACK