# p?laiect

Exploits IEEE arithmetic to accelerate the computations of eigenvalues. (C interface function).

## Syntax

void pslaiect(float *sigma, int *n, float *d, int *count);

void pdlaiectb(float *sigma, int *n, float *d, int *count);

void pdlaiectl(float *sigma, int *n, float *d, int *count);

## Description

This routine computes the number of negative eigenvalues of (`A- σI`). This implementation of the Sturm Sequence loop exploits IEEE arithmetic and has no conditionals in the innermost loop. The signbit for real routine pslaiect is assumed to be bit 32. Double precision routines 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.

Note that all arguments are call-by-reference so that this routine can be directly called from Fortran code.

This is a ScaLAPACK internal subroutine and arguments are not checked for unreasonable values.

## Input Parameters

sigma

  Realfor pslaiect

  DOUBLE PRECISIONfor pdlaiectb/pdlaiectl.

  The shift. p?laiect finds the number of eigenvalues less than equal to sigma.

n

  INTEGER. The order of the tridiagonal matrix T. `n ≥ 1`.

d

  Real for pslaiect

  DOUBLE PRECISION for pdlaiectb/pdlaiectl.

  Array of DIMENSION`(2n -1)`.

  On entry, this array contains the diagonals and the squares of the off-diagonal elements of the tridiagonal matrix T. These elements are assumed to be interleaved in memory for better cache performance. The diagonal entries of T are in the entries `d(1), d(3),..., d(2n-1)`, while the squares of the off-diagonal entries are `d(2), d(4), ..., d(2n-2)`. To avoid overflow, the matrix must be scaled so that its largest entry is no greater than `overflow(1/2) * underflow(1/4)` in absolute value, and for greatest accuracy, it should not be much smaller than that.

## Output Parameters

n

  INTEGER. The count of the number of eigenvalues of T less than or equal to sigma.

Parent topic: Auxiliary Routines