p?lasmsub
p?lasmsub
Looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero.
Syntax
void
pslasmsub
(
const
float
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
k
,
const
float
*
smlnum
,
float
*
buf
,
const
MKL_INT
*
lwork
);
void
pdlasmsub
(
const
double
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
k
,
const
double
*
smlnum
,
double
*
buf
,
const
MKL_INT
*
lwork
);
void
pclasmsub
(
const
MKL_Complex8
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
k
,
const
float
*
smlnum
,
MKL_Complex8
*
buf
,
const
MKL_INT
*
lwork
);
void
pzlasmsub
(
const
MKL_Complex16
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
k
,
const
double
*
smlnum
,
MKL_Complex16
*
buf
,
const
MKL_INT
*
lwork
);
Include Files
- mkl_scalapack.h
Description
The
p?lasmsub
function
looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero. This function
performs a global maximum and must be called by all processes.Input Parameters
- a
- (local)Array of size.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 sizedlen_. The array descriptor for the distributed matrixA.
- i
- (global)The global location of the bottom of the unreduced submatrix ofA. Unchanged on exit.
- l
- (global)The global location of the top of the unreduced submatrix ofA.Unchanged on exit.
- smlnum
- (global)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 least2*ceil(ceil((. Herei-l)/mb_a)/ lcm(nprow,npcol))lcmis least common multiple andnprowxnpcolis 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).Array of sizelwork.
Application Notes
This routine parallelizes the code from
?lahqr
that looks for a single small subdiagonal element.