Developer Reference

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

p?laqr2

Performs the orthogonal/unitary similarity transformation of a Hessenberg matrix to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation).

Syntax

void pslaqr2
(
MKL_INT*
wantt
,
MKL_INT*
wantz
,
MKL_INT*
n
,
MKL_INT*
ktop
,
MKL_INT*
kbot
,
MKL_INT*
nw
,
float*
a
,
MKL_INT*
desca
,
MKL_INT*
iloz
,
MKL_INT*
ihiz
,
float*
z
,
MKL_INT*
descz
,
MKL_INT*
ns
,
MKL_INT*
nd
,
float*
sr
,
float*
si
,
float*
t
,
MKL_INT*
ldt
,
float*
v
,
MKL_INT*
ldv
,
float*
wr
,
float*
wi
,
float*
work
,
MKL_INT*
lwork
);
void pdlaqr2
(
MKL_INT*
wantt
,
MKL_INT*
wantz
,
MKL_INT*
n
,
MKL_INT*
ktop
,
MKL_INT*
kbot
,
MKL_INT*
nw
,
double*
a
,
MKL_INT*
desca
,
MKL_INT*
iloz
,
MKL_INT*
ihiz
,
double*
z
,
MKL_INT*
descz
,
MKL_INT*
ns
,
MKL_INT*
nd
,
double*
sr
,
double*
si
,
double*
t
,
MKL_INT*
ldt
,
double*
v
,
MKL_INT*
ldv
,
double*
wr
,
double*
wi
,
double*
work
,
MKL_INT*
lwork
);
Include Files
  • mkl_scalapack.h
Description
p?laqr2
accepts as input an upper Hessenberg matrix
A
and performs an orthogonal similarity transformation designed to detect and deflate fully converged eigenvalues from a trailing principal submatrix. On output
A
is overwritten by a new Hessenberg matrix that is a perturbation of an orthogonal similarity transformation of
A
. It is to be hoped that the final version of
A
has many zero subdiagonal entries.
This
function
handles small deflation windows which is affordable by one processor. Normally, it is called by
p?laqr1
. All the inputs are assumed to be valid without checking.
Optimization Notice
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
This notice covers the following instruction sets: SSE2, SSE4.2, AVX2, AVX-512.
Input Parameters
wantt
(global )
If
wantt
is non-zero
, then the Hessenberg matrix
A
is fully updated so that the quasi-triangular Schur factor may be computed (in cooperation with the calling
function
).
If
wantt
equals zero
, then only enough of
A
is updated to preserve the eigenvalues.
wantz
(global )
If
wantz
is non-zero
, then the orthogonal matrix
Z
is updated so that the orthogonal Schur factor may be computed (in cooperation with the calling
function
).
If
wantz
equals zero
, then
z
is not referenced.
n
(global )
The order of the matrix
A
and (if
wantz
is
non-zero
) the order of the orthogonal matrix
Z
.
ktop
,
kbot
(global )
It is assumed without a check that either
kbot
=
n
or
A
(
kbot
+1,
kbot
)=0.
kbot
and
ktop
together determine an isolated block along the diagonal of the Hessenberg matrix. However,
A
(
ktop
,
ktop
-1)=0 is not essentially necessary if
wantt
is
non-zero
.
nw
(global )
Deflation window size. 1
nw
(
kbot
-
ktop
+1). Normally
nw
3 if
p?laqr2
is called by
p?laqr1
.
a
(local ) array of size
lld_a
*
LOC
c
(
n
)
The initial
n
-by-
n
section of
a
stores the Hessenberg matrix undergoing aggressive early deflation.
desca
(global and local) array of size
dlen_
.
The array descriptor for the distributed matrix
A
.
iloz
,
ihiz
(global )
Specify the rows of
the matrix
Z
to which transformations must be applied if
wantz
is
non-zero
. 1
iloz
ihiz
n
.
z
Array of size
lld_z
*
LOC
c
(
n
)
If
wantz
is
non-zero
, then on output, the orthogonal similarity transformation mentioned above has been accumulated into
the matrix
Z
(
iloz
:
ihiz
,
kbot
:
ktop
)
, stored in
z
,
from the right.
If
wantz
is
zero
, then
z
is unreferenced.
descz
(global and local) array of size
dlen_
.
The array descriptor for the distributed matrix
Z
.
t
(local workspace) array of size
ldt
*
nw
.
ldt
(local )
The leading dimension of the array
t
.
ldt
nw
.
v
(local workspace) array of size
ldv
*
nw
.
ldv
(local )
The leading dimension of the array
v
.
ldv
nw
.
wr
,
wi
(local workspace) array of size
kbot
.
work
(local workspace) array of size
lwork
.
lwork
(local )
work
(
lwork
) is a local array and
lwork
is assumed big enough so that
lwork
nw
*
nw
.
OUTPUT Parameters
a
On output
a
has been transformed by an orthogonal similarity transformation, perturbed, and returned to Hessenberg form that (it is to be hoped) has some zero subdiagonal entries.
z
ns
(global )
The number of unconverged (that is, approximate) eigenvalues returned in
sr
and
si
that may be used as shifts by the calling
function
.
nd
(global )
The number of converged eigenvalues uncovered by this
function
.
sr
,
si
(global ) array of size
kbot
On output, the real and imaginary parts of approximate eigenvalues that may be used for shifts are stored in
sr
[
kbot
-
nd
-
ns
] through
sr
[
kbot
-
nd
-1] and
si
[
kbot
-
nd
-
ns
] through
si
[
kbot
-
nd
-1]
, respectively.
On processor #0, the real and imaginary parts of converged eigenvalues are stored in
sr
[
kbot
-
nd
] through
sr
[
kbot
-1] and
si
[
kbot
-
nd
] through
si
[
kbot
-1]
, respectively. On other processors, these entries are set to zero.

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