Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?laneg

Computes the Sturm count, the number of negative pivots encountered while factoring tridiagonal T-sigma*I = L*D*LT.

Syntax

value = slaneg( n, d, lld, sigma, pivmin, r )

value = dlaneg( n, d, lld, sigma, pivmin, r )

Include Files

  • mkl.fi

Description

The routine computes the Sturm count, the number of negative pivots encountered while factoring tridiagonal T-sigma*I = L*D*LT. This implementation works directly on the factors without forming the tridiagonal matrix T. The Sturm count is also the number of eigenvalues of T less than sigma. This routine is called from ?larb. The current routine does not use the pivmin parameter but rather requires IEEE-754 propagation of infinities and NaNs (NaN stands for 'Not A Number'). This routine also has no input range restrictions but does require default exception handling such that x/0 produces Inf when x is non-zero, and Inf/Inf produces NaN. (For more information see [Marques06]).

Input Parameters

n

INTEGER. The order of the matrix.

d

REAL for slaneg

DOUBLE PRECISION for dlaneg

Array, DIMENSION (n).

Contains n diagonal elements of the matrix D.

lld

REAL for slaneg

DOUBLE PRECISION for dlaneg

Array, DIMENSION (n-1).

Contains (n-1) elements L(i)*L(i)*D(i).

sigma

REAL for slaneg

DOUBLE PRECISION for dlaneg

Shift amount in T-sigma*I = L*D*L**T.

pivmin

REAL for slaneg

DOUBLE PRECISION for dlaneg

The minimum pivot in the Sturm sequence. May be used when zero pivots are encountered on non-IEEE-754 architectures.

r

INTEGER.

The twist index for the twisted factorization that is used for the negcount.

Output Parameters

value

INTEGER. The number of negative pivots encountered while factoring.