Visible to Intel only — GUID: GUID-3F3BAB9E-51F8-4F72-ACBF-16C3ABB815FF
Visible to Intel only — GUID: GUID-3F3BAB9E-51F8-4F72-ACBF-16C3ABB815FF
p?laconsb
Looks for two consecutive small subdiagonal elements.
Syntax
call pslaconsb(a, desca, i, l, m, h44, h33, h43h34, buf, lwork)
call pdlaconsb(a, desca, i, l, m, h44, h33, h43h34, buf, lwork)
call pclaconsb(a, desca, i, l, m, h44, h33, h43h34, buf, lwork)
call pzlaconsb(a, desca, i, l, m, h44, h33, h43h34, buf, lwork)
Description
The p?laconsbroutine 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) REAL for pslaconsb
DOUBLE PRECISION for pdlaconsb
COMPLEX for pclaconsb
DOUBLE COMPLEX for pzlaconsb
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.
- h44, h33, h43h34
-
(global). REAL for pslaconsb
DOUBLE PRECISION for pdlaconsb
COMPLEX for pclaconsb
DOUBLE COMPLEX for pzlaconsb
These three values are for the double shift QR iteration.
- lwork
-
(local) INTEGER.
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.