LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine dlarra | ( | integer | n, |
double precision, dimension( * ) | d, | ||
double precision, dimension( * ) | e, | ||
double precision, dimension( * ) | e2, | ||
double precision | spltol, | ||
double precision | tnrm, | ||
integer | nsplit, | ||
integer, dimension( * ) | isplit, | ||
integer | info ) |
DLARRA computes the splitting points with the specified threshold.
Download DLARRA + dependencies [TGZ] [ZIP] [TXT]
!> !> Compute the splitting points with threshold SPLTOL. !> DLARRA sets any off-diagonal elements to zero. !>
[in] | N | !> N is INTEGER !> The order of the matrix. N > 0. !> |
[in] | D | !> D is DOUBLE PRECISION array, dimension (N) !> On entry, the N diagonal elements of the tridiagonal !> matrix T. !> |
[in,out] | E | !> E is DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION !> 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 DOUBLE PRECISION !> 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 !> |
Definition at line 132 of file dlarra.f.