Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

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

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.