Developer Reference

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

p?geqr2

Computes a QR factorization of a general rectangular matrix (unblocked algorithm).

Syntax

call psgeqr2
(
m
,
n
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
call pdgeqr2
(
m
,
n
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
call pcgeqr2
(
m
,
n
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
call pzgeqr2
(
m
,
n
,
a
,
ia
,
ja
,
desca
,
tau
,
work
,
lwork
,
info
)
Description
The
p?geqr2
routine
computes a
QR
factorization of a real/complex distributed
m
-by-
n
matrix
sub(
A
) =
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1)=
Q
*
R
.
Input Parameters
m
(global)
INTEGER
.
The number of rows in the distributed matrix sub(
A
).
(
m
≥0)
.
n
(global)
INTEGER
.
The number of columns in the distributed matrix sub(
A
).
(
n
≥0)
.
a
(local).
REAL
for
psgeqr2
DOUBLE PRECISION
for
pdgeqr2
COMPLEX
for
pcgeqr2
COMPLEX*16
for
pzgeqr2
.
Pointer into the local memory to an array of size
(
lld_a
,
LOC
c
(
ja
+
n
-1))
.
On entry, this array contains the local pieces of the
m
-by-
n
distributed matrix sub(
A
) which is to be factored.
ia
,
ja
(global)
INTEGER
.
The row and column indices in the global matrix
A
indicating the first row and the first column of sub(
A
), respectively.
desca
(global and local)
INTEGER
array of size
dlen_
. The array descriptor for the distributed matrix A.
work
(local).
REAL
for
psgeqr2
DOUBLE PRECISION
for
pdgeqr2
COMPLEX
for
pcgeqr2
COMPLEX*16
for
pzgeqr2
.
This is a workspace array of size
lwork
.
lwork
(local or global)
INTEGER
.
The size of the array
work
.
l
work
is local input and must be at least
lwork
mp
0+max(1,
nq
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
(