Developer Reference

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

p?unglq

Generates the unitary matrix
Q
of the
LQ
factorization formed by p?gelqf.

Syntax

call pcunglq
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
call pzunglq
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
Include Files
Description
This
routine
generates the whole or part of
m
-by-
n
complex distributed matrix
Q
denoting
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1) with orthonormal rows, which is defined as the first
m
rows of a product of
k
elementary reflectors of order
n
Q
= (
H
(
k
))
H
...*(
H
(2))
H
*(
H
(1))
H
as returned by
p?gelqf
.
Input Parameters
m
(global)
INTEGER
.
The number of rows in the matrix sub(
Q
)
(
m
0)
.
n
(global)
INTEGER
.
The number of columns in the matrix sub(
Q
)
(
n
m
0)
.
k
(global)
INTEGER
.
The number of elementary reflectors whose product defines the matrix
Q
(
m
k
0)
.
a
(local)
COMPLEX
for
pcunglq
DOUBLE COMPLEX
for
pzunglq
Pointer into the local memory to an array of local size
(
lld_a
,
LOCc
(
ja
+
n
-1))
. On entry, the
i
-th row must contain the vector that defines the elementary reflector
H
(
i
),
ia
i
ia
+
k
-1
, as returned by
p?gelqf
in the
k
rows of its distributed matrix argument
A
(
ia
:
ia
+
k
-1,
ja
:*).
ia
,
ja
(global)
INTEGER
.
The row and column indices in the global matrix
A
indicating the first row and the first column of the submatrix
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1), respectively.
desca
(global and local)
INTEGER
array of size
dlen_
. The array descriptor for the distributed matrix
A
.
tau
(local)
COMPLEX
for
pcunglq
DOUBLE COMPLEX
for
pzunglq
Array of size
LOCr
(
ia
+
k
-1)
.
Contains the scalar factors
tau
(
j
)
of elementary reflectors
H
(
j
)
.
tau
is tied to the distributed matrix
A
.
work
(local)
COMPLEX
for
pcunglq
DOUBLE COMPLEX
for
pzunglq
Workspace array of size of
lwork
.
lwork
(local or global)
INTEGER
,
size of
work
, must be at least
lwork
mb_