p?laiect
p?laiect
Exploits IEEE arithmetic to accelerate the computations of eigenvalues.
Syntax
void
pslaiect
(
float
*sigma
,
MKL_INT
*n
,
float
*d
,
MKL_INT
*count
);
void
pdlaiectb
(
float
*sigma
,
MKL_INT
*n
,
float
*d
,
MKL_INT
*count
);
void
pdlaiectl
(
float
*sigma
,
MKL_INT
*n
,
float
*d
,
MKL_INT
*count
);
Include Files
- mkl_scalapack.h
Description
The ). This implementation of the Sturm Sequence loop exploits IEEE arithmetic and has no conditionals in the innermost loop. The signbit for real
p?laiect
function
computes the number of negative eigenvalues of (A
- σ
I
function
pslaiect
is assumed to be bit 32. Double-precision functions
pdlaiectb
and pdlaiectl
differ in the order of the double precision word storage and, consequently, in the signbit location. For pdlaiectb
, the double precision word is stored in the big-endian word order and the signbit is assumed to be bit 32. For pdlaiectl
, the double precision word is stored in the little-endian word order and the signbit is assumed to be bit 64.This is a ScaLAPACK internal
function
and arguments are not checked for unreasonable values.Input Parameters
- sigma
- The shift.p?laiectfinds the number of eigenvalues less than equal tosigma.
- n
- The order of the tridiagonal matrixT..n≥1
- d
- Array of size2.n-1On entry, this array contains the diagonals and the squares of the off-diagonal elements of the tridiagonal matrixT. These elements are assumed to be interleaved in memory for better cache performance. The diagonal entries ofTare in the entries, while the squares of the off-diagonal entries ared[0],d[2],...,d[2n-2]. To avoid overflow, the matrix must be scaled so that its largest entry is no greater thand[1],d[3], ...,d[2n-3]in absolute value, and for greatest accuracy, it should not be much smaller than that.overflow(1/2)*underflow(1/4)
Output Parameters
- n
- The count of the number of eigenvalues ofTless than or equal tosigma.