Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Computes the splitting points with the specified threshold.
call slarra( n, d, e, e2, spltol, tnrm, nsplit, isplit, info )
call dlarra( n, d, e, e2, spltol, tnrm, nsplit, isplit, info )
The routine computes the splitting points with the specified threshold and sets any "small" off-diagonal elements to zero.
INTEGER. The order of the matrix (n> 1).
REAL for slarra
DOUBLE PRECISION for dlarra
Array, DIMENSION (n).
Contains n diagonal elements of the tridiagonal matrix T.
REAL for slarra
DOUBLE PRECISION for dlarra
Array, DIMENSION (n).
First (n-1) entries contain the subdiagonal elements of the tridiagonal matrix T; e(n) need not be set.
REAL for slarra
DOUBLE PRECISION for dlarra
Array, DIMENSION (n).
First (n-1) entries contain the squares of the subdiagonal elements of the tridiagonal matrix T; e2(n) need not be set.
REAL for slarra
DOUBLE PRECISION for dlarra
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.
REAL for slarra
DOUBLE PRECISION for dlarra
The norm of the matrix.
On exit, the entries e(isplit(i)), 1 ≤ i ≤ nsplit, are set to zero, the other entries of e are untouched.
INTEGER.
The number of blocks the matrix T splits into. 1 ≤ nsplit ≤ n
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), and so on, and the nsplit-th consists of rows/columns isplit(nsplit-1)+1 through isplit(nsplit)=n.
INTEGER.
= 0: successful exit.