Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

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?laconsb
routine
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
.