Developer Reference

Contents

p?laconsb

Looks for two consecutive small subdiagonal elements.

Syntax

void
pslaconsb
(
const
float
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
m
,
const
float
*
h44
,
const
float
*
h33
,
const
float
*
h43h34
,
float
*
buf
,
const
MKL_INT
*
lwork
);
void
pdlaconsb
(
const
double
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
m
,
const
double
*
h44
,
const
double
*
h33
,
const
double
*
h43h34
,
double
*
buf
,
const
MKL_INT
*
lwork
);
void
pclaconsb
(
const
MKL_Complex8
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
m
,
const
MKL_Complex8
*
h44
,
const
MKL_Complex8
*
h33
,
const
MKL_Complex8
*
h43h34
,
MKL_Complex8
*
buf
,
const
MKL_INT
*
lwork
);
void
pzlaconsb
(
const
MKL_Complex16
*
a
,
const
MKL_INT
*
desca
,
const
MKL_INT
*
i
,
const
MKL_INT
*
l
,
MKL_INT
*
m
,
const
MKL_Complex16
*
h44
,
const
MKL_Complex16
*
h33
,
const
MKL_Complex16
*
h43h34
,
MKL_Complex16
*
buf
,
const
MKL_INT
*
lwork
);
Include Files
  • mkl_scalapack.h
Description
The
p?laconsb
function
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)
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 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.
h44
,
h33
,
h43h34
(global).
These three values are for the double shift
QR
iteration.
lwork
(local)
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).
Array of size
lwork
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804