Visible to Intel only — GUID: GUID-DF958E0C-EAF5-4424-B082-A4406CE6251B
Visible to Intel only — GUID: GUID-DF958E0C-EAF5-4424-B082-A4406CE6251B
p?lasmsub
Looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero.
Syntax
call pslasmsub(a, desca, i, l, k, smlnum, buf, lwork)
call pdlasmsub(a, desca, i, l, k, smlnum, buf, lwork)
call pclasmsub(a, desca, i, l, k, smlnum, buf, lwork)
call pzlasmsub(a, desca, i, l, k, smlnum, buf, lwork)
Description
The p?lasmsubroutine looks for a small subdiagonal element from the bottom of the matrix that it can safely set to zero. This routine 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)).
On entry, the Hessenberg matrix whose tridiagonal part is being scanned. Unchanged on exit.
- desca
-
(global and local) INTEGER.
Array of size dlen_. The array descriptor for the distributed matrix A.
- i
-
(global) INTEGER.
The global location of the bottom of the unreduced submatrix of A. Unchanged on exit.
- l
-
(global) INTEGER.
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) INTEGER.
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) INTEGER.
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.