?larrf2

Finds a new relatively robust representation such that at least one of the eigenvalues is relatively isolated.

Syntax

call slarrf2( n, d, l, ld, clstrt, clend, clmid1, clmid2, w, wgap, werr, trymid, spdiam, clgapl, clgapr, pivmin, sigma, dplus, lplus, work, info )

call dlarrf2( n, d, l, ld, clstrt, clend, clmid1, clmid2, w, wgap, werr, trymid, spdiam, clgapl, clgapr, pivmin, sigma, dplus, lplus, work, info )

Description

Given the initial representation LDLT and its cluster of close eigenvalues (in a relative measure), w( clstrt ), w( clstrt+1 ), ... w( clend ), ?larrf2 finds a new relatively robust representation LDLT - σ I = L+D+L+T such that at least one of the eigenvalues of L+D+L+T is relatively isolated.

This is an enhanced version of ?larrf that also tries shifts in the middle of the cluster, should there be a large gap, in order to break large clusters into at least two pieces.

Input Parameters

n

INTEGER

The order of the matrix (subblock, if the matrix was split).

d

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size n

The n diagonal elements of the diagonal matrix D.

l

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size n-1

The (n-1) subdiagonal elements of the unit bidiagonal matrix L.

ld

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size n-1

The (n-1) elements l(i)*d(i).

clstrt

INTEGER

The index of the first eigenvalue in the cluster.

clend

INTEGER

The index of the last eigenvalue in the cluster.

clmid1, clmid2

INTEGER

The index of a middle eigenvalue pair with large gap.

w

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size (clend-clstrt+1)

The eigenvalue approximations of LD LT in ascending order. w( clstrt ) through w( clend ) form the cluster of relatively close eigenalues.

wgap

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size (clend-clstrt+1)

The separation from the right neighbor eigenvalue in w.

werr

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size (clend-clstrt+1)

werr contains the semiwidth of the uncertainty interval of the corresponding eigenvalue approximation in w.

spdiam

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Estimate of the spectral diameter obtained from the Gerschgorin intervals

clgapl, clgapr

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Absolute gap on each end of the cluster.

Set by the calling routine to protect against shifts too close to eigenvalues outside the cluster.

pivmin

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

The minimum pivot allowed in the Sturm sequence.

work

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Workspace array of size 2*n

OUTPUT Parameters

wgap

Contains refined values of its input approximations. Very small gaps are unchanged.

sigma

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

The shift (σ) used to form L+D+L+T.

dplus

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size n

The n diagonal elements of the diagonal matrix D+.

lplus

REAL for slarrf2

DOUBLE PRECISION for dlarrf2

Array of size n-1

The first (n-1) elements of lplus contain the subdiagonal elements of the unit bidiagonal matrix L+.

See Also

For more complete information about compiler optimizations, see our Optimization Notice.