Developer Reference

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

p?latrz

Reduces an upper trapezoidal matrix to upper triangular form by means of orthogonal/unitary transformations.

Syntax

void
pslatrz
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*l
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*tau
,
float
*work
);
void
pdlatrz
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*l
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*tau
,
double
*work
);
void
pclatrz
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*l
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_Complex8
*tau
,
MKL_Complex8
*work
);
void
pzlatrz
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_INT
*l
,
MKL_Complex16
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
MKL_Complex16
*tau
,
MKL_Complex16
*work
);
Include Files
  • mkl_scalapack.h
Description
The
p?latrz
function
reduces the
m
-by-
n
(
m
n
)
real/complex upper trapezoidal matrix
sub(
A
) = [
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
m
-1)
A
(
ia
:
ia
+
m
-1,
ja
+
n-l
:
ja
+
n
-1)]
to upper triangular form by means of orthogonal/unitary transformations.
The upper trapezoidal matrix sub(
A
) is factored as
sub(
A
) = (
R
0 )*
Z
,
where
Z
is an
n
-by-
n
orthogonal/unitary matrix and
R
is an
m
-by
-
m
upper triangular matrix.
Input Parameters
m
(global)
The number of rows in the distributed matrix sub(
A
).
m
0
.
n
(global)
The number of columns in the distributed matrix sub(
A
).
n
0
.
l
(global)
The number of columns of the distributed matrix sub(
A
) containing the meaningful part of the Householder reflectors.
l
>
0
.
a
(local)
Pointer into the local memory to an array of size
lld_a
*
LOCc
(
ja
+
n
-1)
. On entry, the local pieces of the
m
-by-
n
distributed matrix sub(
A
), which is to be factored.
ia
(global)
The row index in the global matrix
A
indicating the first row of sub(
A
).
ja
(global)
The column index in the global matrix
A
indicating the first column of sub(
A
).
desca
(global and local) array of size
dlen_
.
The array descriptor for the distributed matrix
A
.
work
(local)
Workspace array of size
lwork
.
lwork
nq
0 + max(1,
mp
0)
, where
iroff
= mod(
ia
-1,
mb_a
),
icoff
= mod(
ja
-1,
nb_a
)
,
iarow
=
indxg2p
(
ia
,
mb_a
,
myrow
,
rsrc
_a,
nprow
)
,
iacol
=
indxg2p
(
ja
,
nb_a
,
mycol
,
csrc_a
,
npcol
)
,
mp
0 =
numroc
(
m
+
iroff
,
mb_a
,
myrow
,
iarow
,
nprow
)
,
nq
0 =
numroc
(
n
+
icoff
,
nb_a
,
mycol
,
iacol
,
npcol
)
,
numroc
,
indxg2p
, and
numroc
are ScaLAPACK tool functions;
myrow
,
mycol
,
nprow
, and
npcol
can be determined by calling the
function
blacs_gridinfo
.
Output Parameters
a
On exit, the leading
m
-by-
m
upper triangular part of sub(
A
) contains the upper triangular matrix
R
, and elements
n
-
l
+1
to
n
of the first
m
rows of sub(
A
), with the array
tau
, represent the orthogonal/unitary matrix
Z
as a product of
m
elementary reflectors.
tau
(local)
Array of size
LOCr
(
ja
+
m
-1)
. This array contains the scalar factors of the elementary reflectors.
tau
is tied to the distributed matrix
A
.
Application Notes
The factorization is obtained by Householder's method.
The
k
-th transformation matrix,
Z
(
k
)
, which is used (or, in case of complex
functions
, whose conjugate transpose is used) to introduce zeros into the
(
m
-
k
+ 1)
-th row of sub(
A
), is given in the form
Equation
where
Equation
tau
is a scalar and
z
(
k
)
is an (
n-m
)-element vector.
tau
and
z
(
k
)
are chosen to annihilate the elements of the
k
-th row of sub(
A
). The scalar
tau
is returned in the
k
-th element of
tau
, indexed
k
-1,
and the vector
u
(
k
)
in the
k
-th row of sub(
A
), such that the elements of
z(
k
)
are in
A
(
k
,
m
+ 1 ), ...,
A
(
k
,
n
)
. The elements of
R
are returned in the upper triangular part of sub(
A
).
Z
is given by
Z = Z(1)Z(2)...Z(m).

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