GNU/Linux |
CentOS 4.8 |
i386 |
![]() |
dlarrb(l) |
![]() |
DLARRB - the relatively robust representation(RRR) L D L^T, DLARRB does ’’limited’’ bisection to locate the eigenvalues of L D L^T,
SUBROUTINE DLARRB( |
N, D, L, LD, LLD, IFIRST, ILAST, SIGMA, RELTOL, W, WGAP, WERR, WORK, IWORK, INFO ) | ||
INTEGER |
IFIRST, ILAST, INFO, N | ||
DOUBLE |
PRECISION RELTOL, SIGMA | ||
INTEGER |
IWORK( * ) | ||
DOUBLE |
PRECISION D( * ), L( * ), LD( * ), LLD( * ), W( * ), WERR( * ), WGAP( * ), WORK( * ) |
Given the relatively robust representation(RRR) L D L^T, DLARRB does ’’limited’’ bisection to locate the eigenvalues of L D L^T, W( IFIRST ) thru’ W( ILAST ), to more accuracy. Intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.
N (input) INTEGER
The order of the matrix.
D (input) DOUBLE PRECISION array, dimension (N)
The n diagonal elements of the diagonal matrix D.
L (input) DOUBLE PRECISION array, dimension (N-1)
The n-1 subdiagonal elements of the unit bidiagonal matrix L.
LD (input) DOUBLE PRECISION array, dimension (N-1)
The n-1 elements L(i)*D(i).
LLD (input) DOUBLE PRECISION array, dimension (N-1)
The n-1 elements L(i)*L(i)*D(i).
IFIRST (input) INTEGER
The index of the first eigenvalue in the cluster.
ILAST (input) INTEGER
The index of the last eigenvalue in the cluster.
SIGMA (input) DOUBLE PRECISION
The shift used to form L D L^T (see DLARRF).
RELTOL (input) DOUBLE PRECISION
The relative tolerance.
W (input/output) DOUBLE PRECISION array, dimension (N)
On input, W( IFIRST ) thru’ W( ILAST ) are estimates of the corresponding eigenvalues of L D L^T. On output, these estimates are ’’refined’’.
WGAP (input/output) DOUBLE PRECISION array, dimension (N)
The gaps between the eigenvalues of L D L^T. Very small gaps are changed on output.
WERR (input/output) DOUBLE PRECISION array, dimension (N)
On input, WERR( IFIRST ) thru’ WERR( ILAST ) are the errors in the estimates W( IFIRST ) thru’ W( ILAST ). On output, these are the ’’refined’’ errors.
WORK (input) DOUBLE PRECISION array, dimension (???)
Workspace.
IWORK (input) INTEGER array, dimension (2*N)
Workspace.
INFO (output) INTEGER
Error flag.
Based on
contributions by
Inderjit Dhillon, IBM Almaden, USA
Osni Marques, LBNL/NERSC, USA
![]() |
dlarrb(l) | ![]() |