Developer Reference for Intel® oneAPI Math Kernel Library for C
p?laconsb
Looks for two consecutive small subdiagonal elements.
Syntax
voidpslaconsb ( constfloat*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*m , constfloat*h44 , constfloat*h33 , constfloat*h43h34 , float*buf , constMKL_INT*lwork );
voidpdlaconsb ( constdouble*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*m , constdouble*h44 , constdouble*h33 , constdouble*h43h34 , double*buf , constMKL_INT*lwork );
voidpclaconsb ( constMKL_Complex8*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*m , constMKL_Complex8*h44 , constMKL_Complex8*h33 , constMKL_Complex8*h43h34 , MKL_Complex8*buf , constMKL_INT*lwork );
voidpzlaconsb ( constMKL_Complex16*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*m , constMKL_Complex16*h44 , constMKL_Complex16*h33 , constMKL_Complex16*h43h34 , MKL_Complex16*buf , constMKL_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 .