Developer Reference

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

p?orgl2/p?ungl2

Generates all or part of the orthogonal/unitary matrix Q from an LQ factorization determined by
p?gelqf
(unblocked algorithm).

Syntax

call psorgl2
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
l
work
,
info
)
call pdorgl2
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
l
work
,
info
)
call pcungl2
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
l
work
,
info
)
call pzungl2
(
m
,
n
,
k
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
l
work
,
info
)
Description
The
p?orgl2/p?ungl2
routine
generates a
m
-by-
n
real/complex 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
(2)*
H
(1) (for real flavors),
Q
= (
H
(
k
))
H
*...*(
H
(2))
H
*(
H
(1))
H
(for complex flavors) as returned by
p?gelqf
.
Input Parameters
m
(global)
INTEGER
.
The number of rows in the distributed submatrix
Q
.
m
0
.
n
(global)
INTEGER
.
The number of columns in the distributed submatrix
Q
.
n
m
0
.
k
(global)
INTEGER
.
The number of elementary reflectors whose product defines the matrix
Q
.
m
k
0
.
a
REAL
for
psorgl2
DOUBLE PRECISION
for
pdorgl2
COMPLEX
for
pcungl2
COMPLEX*16
for
pzungl2
.
Pointer into the local memory to an array of 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
(global)
INTEGER
.
The row index in the global matrix
A
indicating the first row of sub(
A
).
ja
(global)
INTEGER
.
The column index in the global matrix
A
indicating the first column of sub(