LAPACK 3.11.0
LAPACK: Linear Algebra PACKage

◆ slarra()

subroutine slarra ( integer  N,
real, dimension( * )  D,
real, dimension( * )  E,
real, dimension( * )  E2,
real  SPLTOL,
real  TNRM,
integer  NSPLIT,
integer, dimension( * )  ISPLIT,
integer  INFO 
)

SLARRA computes the splitting points with the specified threshold.

Download SLARRA + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 Compute the splitting points with threshold SPLTOL.
 SLARRA sets any "small" off-diagonal elements to zero.
Parameters
[in]N
          N is INTEGER
          The order of the matrix. N > 0.
[in]D
          D is REAL array, dimension (N)
          On entry, the N diagonal elements of the tridiagonal
          matrix T.
[in,out]E
          E is REAL array, dimension (N)
          On entry, the first (N-1) entries contain the subdiagonal
          elements of the tridiagonal matrix T; E(N) need not be set.
          On exit, the entries E( ISPLIT( I ) ), 1 <= I <= NSPLIT,
          are set to zero, the other entries of E are untouched.
[in,out]E2
          E2 is REAL array, dimension (N)
          On entry, the first (N-1) entries contain the SQUARES of the
          subdiagonal elements of the tridiagonal matrix T;
          E2(N) need not be set.
          On exit, the entries E2( ISPLIT( I ) ),
          1 <= I <= NSPLIT, have been set to zero
[in]SPLTOL
          SPLTOL is REAL
          The threshold for splitting. Two criteria can be used:
          SPLTOL<0 : criterion based on absolute off-diagonal value
          SPLTOL>0 : criterion that preserves relative accuracy
[in]TNRM
          TNRM is REAL
          The norm of the matrix.
[out]NSPLIT
          NSPLIT is INTEGER
          The number of blocks T splits into. 1 <= NSPLIT <= N.
[out]ISPLIT
          ISPLIT is INTEGER array, dimension (N)
          The splitting points, at which T breaks up into blocks.
          The first block consists of rows/columns 1 to ISPLIT(1),
          the second of rows/columns ISPLIT(1)+1 through ISPLIT(2),
          etc., and the NSPLIT-th consists of rows/columns
          ISPLIT(NSPLIT-1)+1 through ISPLIT(NSPLIT)=N.
[out]INFO
          INFO is INTEGER
          = 0:  successful exit
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Beresford Parlett, University of California, Berkeley, USA
Jim Demmel, University of California, Berkeley, USA
Inderjit Dhillon, University of Texas, Austin, USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, University of California, Berkeley, USA