Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

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

Document Table of Contents

?larrk

Computes one eigenvalue of a symmetric tridiagonal matrix T to suitable accuracy.

Syntax

call slarrk( n, iw, gl, gu, d, e2, pivmin, reltol, w, werr, info )

call dlarrk( n, iw, gl, gu, d, e2, pivmin, reltol, w, werr, info )

Include Files

  • mkl.fi

Description

The routine computes one eigenvalue of a symmetric tridiagonal matrix T to suitable accuracy. This is an auxiliary code to be called from ?stemr.

To avoid overflow, the matrix must be scaled so that its largest element is no greater than (overflow1/2*underflow1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. For more details see [Kahan66].

Input Parameters

n

INTEGER. The order of the matrix T. (n 1).

iw

INTEGER.

The index of the eigenvalue to be returned.

gl, gu

REAL for slarrk

DOUBLE PRECISION for dlarrk

An upper and a lower bound on the eigenvalue.
d

REAL for slarrk

DOUBLE PRECISION for dlarrk

Array, DIMENSION (n).

Contains n diagonal elements of the matrix T.

e2

REAL for slarrk

DOUBLE PRECISION for dlarrk

Array, DIMENSION (n-1).

Contains (n-1) squared off-diagonal elements of the T.

pivmin

REAL for slarrk

DOUBLE PRECISION for dlarrk

The minimum pivot in the Sturm sequence for the matrix T.

reltol

REAL for slarrk

DOUBLE PRECISION for dlarrk

The minimum relative width of an interval. When an interval is narrower than reltol times the larger (in magnitude) endpoint, then it is considered to be sufficiently small, that is converged. Note: this should always be at least radix*machine epsilon.

Output Parameters

w

REAL for slarrk

DOUBLE PRECISION for dlarrk

Contains the eigenvalue approximation.

werr

REAL for slarrk

DOUBLE PRECISION for dlarrk

Contains the error bound on the corresponding eigenvalue approximation in w.

info

INTEGER.

= 0: Eigenvalue converges

= -1: Eigenvalue does not converge