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
slarra dlarra
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.