Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Visible to Intel only — GUID: GUID-BBA4DFD4-B12B-4A3D-82C1-CB9495BBB5DD

Document Table of Contents

?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
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), and so on, and the nsplit-th consists of rows/columns isplit(nsplit-1)+1 through isplit(nsplit)=n.

info

INTEGER.

= 0: successful exit.