Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?larra
Computes the splitting points with the specified threshold.
Syntax
call slarra(n, d, e, e2, spltol, tnrm, nsplit, isplit, info)
call dlarra(n, d, e, e2, spltol, tnrm, nsplit, isplit, info)
Include Files
mkl.fi
Description
The routine computes the splitting points with the specified threshold and sets any “small” off-diagonal elements to zero.
Input Parameters
- n
-
INTEGER . The order of the matrix ( n> 1 ).
- d
-
REAL for slarra DOUBLE PRECISION for dlarra Array, DIMENSION ( n ). Contains n diagonal elements of the tridiagonal matrix T .
- e
-
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.
- e2
-
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.
- spltol
-
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.
- tnrm
-
REAL for slarra DOUBLE PRECISION for dlarra The norm of the matrix.
Output Parameters
- e
-
On exit, the entries e(isplit(i)), 1 ≤ i ≤ nsplit , are set to zero, the other entries of e are untouched.
- e2
-
On exit, the entries e2(isplit(i)), 1 ≤ i ≤ nsplit , are set to zero.
- nsplit
-
INTEGER . The number of blocks the matrix T splits into. 1 ≤ nsplit ≤ n
- isplit
-
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 .
info
INTEGER .
= 0 : successful exit.