Developer Reference for Intel® oneAPI Math Kernel Library for C
p?laconsb
Looks for two consecutive small subdiagonal elements.
Syntax
void pslaconsb(const float *a, const MKL_INT *desca, const MKL_INT *i, const MKL_INT *l,
MKL_INT *m, const float *h44, const float *h33, const float *h43h34,
float *buf, const MKL_INT *lwork);
void pdlaconsb(const double *a, const MKL_INT *desca, const MKL_INT *i, const MKL_INT *l,
MKL_INT *m, const double *h44, const double *h33, const double *h43h34,
double *buf, const MKL_INT *lwork);
void pclaconsb(const MKL_Complex8 *a, const MKL_INT *desca, const MKL_INT *i,
const MKL_INT *l, MKL_INT *m, const MKL_Complex8 *h44,
const MKL_Complex8 *h33, const MKL_Complex8 *h43h34, MKL_Complex8 *buf,
const MKL_INT *lwork);
void pzlaconsb(const MKL_Complex16 *a, const MKL_INT *desca, const MKL_INT *i,
const MKL_INT *l, MKL_INT *m, const MKL_Complex16 *h44,
const MKL_Complex16 *h33, const MKL_Complex16 *h43h34, MKL_Complex16 *buf,
const MKL_INT *lwork);
Include Files
mkl_scalapack.h
Description
pslaconsb pdlaconsb pclaconsb pzlaconsb The p?laconsb routine function looks for two consecutive small subdiagonal elements by analyzing the effect of starting a double shift QR iteration given by h44 , h33 , and h43h34 to see if this process makes a subdiagonal negligible.
Input Parameters
a
(local)
DOUBLE PRECISION for pdlaconsb COMPLEX for pclaconsb DOUBLE COMPLEX for pzlaconsb
Array of size (lld_a,LOCc(n_a))lld_a * LOCc ( n_a ) . On entry, the Hessenberg matrix whose tridiagonal part is being scanned. Unchanged on exit.
desca
(global and local)
Array of size dlen_ . The array descriptor for the distributed matrix A .
i
(global)
The global location of the bottom of the unreduced submatrix of A . Unchanged on exit.
l
(global)
The global location of the top of the unreduced submatrix of A . Unchanged on exit.
h44 , h33 , h43h34
(global).
DOUBLE PRECISION for pdlaconsb COMPLEX for pclaconsb DOUBLE COMPLEX for pzlaconsb These three values are for the double shift QR iteration.
lwork
(local)
This must be at least 7*ceil(ceil( (i-l)/mb_a )/lcm(nprow, npcol)) . Here lcm is the least common multiple and nprow*npcol is the logical grid size.
Output Parameters
- m
-
(global). On exit, this yields the starting location of the QR double shift. This will satisfy: l ≤ m ≤ i -2.
- buf
-
(local). REAL for pslaconsb DOUBLE PRECISION for pdlaconsb COMPLEX for pclaconsb DOUBLE COMPLEX for pzlaconsb Array of size lwork .