SLARRF2(3) ScaLAPACK routine of NEC Numeric Library Collection SLARRF2(3) NAME SLARRF2 - finds a new relatively robust representation L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated SYNOPSIS SUBROUTINE SLARRF2( N, D, L, LD, CLSTRT, CLEND, CLMID1, CLMID2, W, WGAP, WERR, TRYMID, SPDIAM, CLGAPL, CLGAPR, PIVMIN, SIGMA, DPLUS, LPLUS, WORK, INFO ) INTEGER CLSTRT, CLEND, CLMID1, CLMID2, INFO, N REAL CLGAPL, CLGAPR, PIVMIN, SIGMA, SPDIAM LOGICAL TRYMID REAL D( * ), DPLUS( * ), L( * ), LD( * ), LPLUS( * ), W( * ), WGAP( * ), WERR( * ), WORK( * ) PURPOSE Given the initial representation L D L^T and its cluster of close eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ... W( CLEND ), SLARRF2 finds a new relatively robust representation L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the eigen- values of L(+) D(+) L(+)^T is relatively isolated. This is an enhanced version of SLARRF 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. ARGUMENTS N (input) INTEGER The order of the matrix (subblock, if the matrix splitted). D (input) REAL array, dimension (N) The N diagonal elements of the diagonal matrix D. L (input) REAL array, dimension (N-1) The (N-1) subdiagonal elements of the unit bidiagonal matrix L. LD (input) REAL array, dimension (N-1) The (N-1) elements L(i)*D(i). CLSTRT (input) INTEGER The index of the first eigenvalue in the cluster. CLEND (input) INTEGER The index of the last eigenvalue in the cluster. CLMID1,2(input) INTEGER The index of a middle eigenvalue pair with large gap W (input) REAL array, dimension >= (CLEND-CLSTRT+1) The eigenvalue APPROXIMATIONS of L D L^T in ascending order. W( CLSTRT ) through W( CLEND ) form the cluster of relatively close eigenalues. WGAP (input/output) REAL array, dimension >= (CLEND-CLSTRT+1) The separation from the right neighbor eigenvalue in W. WERR (input) REAL array, dimension >= (CLEND-CLSTRT+1) WERR contain the semiwidth of the uncertainty interval of the corresponding eigenvalue APPROXIMATION in W SPDIAM (input) estimate of the spectral diameter obtained from the Gerschgorin intervals CLGAPL, CLGAPR (input) 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 (input) REAL The minimum pivot allowed in the sturm sequence. SIGMA (output) REAL The shift used to form L(+) D(+) L(+)^T. DPLUS (output) REAL array, dimension (N) The N diagonal elements of the diagonal matrix D(+). LPLUS (output) REAL array, dimension (N-1) The first (N-1) elements of LPLUS contain the subdiagonal ele- ments of the unit bidiagonal matrix L(+). WORK (workspace) REAL array, dimension (2*N) Workspace. ScaLAPACK routine 31 October 2017 SLARRF2(3)