Developer Reference for Intel® oneAPI Math Kernel Library for C
p?lasmsub
Looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero.
Syntax
voidpslasmsub ( constfloat*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*k , constfloat*smlnum , float*buf , constMKL_INT*lwork );
voidpdlasmsub ( constdouble*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*k , constdouble*smlnum , double*buf , constMKL_INT*lwork );
voidpclasmsub ( constMKL_Complex8*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*k , constfloat*smlnum , MKL_Complex8*buf , constMKL_INT*lwork );
voidpzlasmsub ( constMKL_Complex16*a , constMKL_INT*desca , constMKL_INT*i , constMKL_INT*l , MKL_INT*k , constdouble*smlnum , MKL_Complex16*buf , constMKL_INT*lwork );
Include Files
mkl_scalapack.h
Description
pslasmsub pdlasmsub pclasmsub pzlasmsub The p?lasmsub routine function looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero. This routine function performs a global maximum and must be called by all processes.
Input Parameters
- a
-
(local) REAL for pslasmsub DOUBLE PRECISION for pdlasmsub COMPLEX for pclasmsub DOUBLE COMPLEX for pzlasmsub
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.
- smlnum
-
(global) REAL for pslasmsub DOUBLE PRECISION for pdlasmsub REAL for pclasmsub DOUBLE PRECISION for pzlasmsub On entry, a “small number” for the given matrix. Unchanged on exit. The machine-dependent constants for the stopping criterion.
lwork
(local)
This must be at least 2*ceil(ceil((i-l)/mb_a )/ lcm(nprow,npcol)) . Here lcm is least common multiple and nprowxnpcol is the logical grid size.
Output Parameters
k
(global)
On exit, this yields the bottom portion of the unreduced submatrix. This will satisfy: l ≤ k ≤ i-1 .
- buf
-
(local). REAL for pslasmsub DOUBLE PRECISION for pdlasmsub COMPLEX for pclasmsub DOUBLE COMPLEX for pzlasmsub Array of size lwork .
Application Notes
This routine parallelizes the code from ?lahqr that looks for a single small subdiagonal element.