Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

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 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.
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 least
2*ceil(ceil((
i
-l)
/mb_a
)/ lcm(
nprow
,
npcol
))
. Here
lcm
is least common multiple and
nprow
x
npcol
is 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 size
lwork
.
Application Notes
This routine parallelizes the code from
?lahqr
that looks for a single small subdiagonal element.

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