Developer Reference

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

p?ggrqf

Computes the generalized RQ factorization.

Syntax

call psggrqf
(
m
,
p
,
n
,
a
,
ia
,
ja
,
desca
,
taua
,
b
,
ib
,
jb
,
descb
,
taub
,
work
,
lwork
,
info
)
call pdggrqf
(
m
,
p
,
n
,
a
,
ia
,
ja
,
desca
,
taua
,
b
,
ib
,
jb
,
descb
,
taub
,
work
,
lwork
,
info
)
call pcggrqf
(
m
,
p
,
n
,
a
,
ia
,
ja
,
desca
,
taua
,
b
,
ib
,
jb
,
descb
,
taub
,
work
,
lwork
,
info
)
call pzggrqf
(
m
,
p
,
n
,
a
,
ia
,
ja
,
desca
,
taua
,
b
,
ib
,
jb
,
descb
,
taub
,
work
,
lwork
,
info
)
Include Files
Description
The
p?ggrqf
routine
forms the generalized
RQ
factorization of an
m
-by-
n
matrix sub(
A
) =
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1) and a
p
-by-
n
matrix sub(
B
) =
B
(
ib
:
ib
+
p
-1,
jb
:
jb
+
n
-1):
sub(
A
) =
R
*
Q
, sub(
B
) =
Z
*
T
*
Q
,
where
Q
is an
n
-by-
n
orthogonal/unitary matrix,
Z
is a
p
-by-
p
orthogonal/unitary matrix, and
R
and
T
assume one of the forms:
Equation
or
Equation
where
R
11
or
R
21
is upper triangular, and
Equation
or
Equation
where
T
11
is upper triangular.
In particular, if sub(
B
) is square and nonsingular, the
GRQ
factorization of sub(
A
) and sub(
B
) implicitly gives the
RQ
factorization of sub (
A
)*inv(sub(
B
)):
sub(
A
)*inv(sub(
B
))= (
R
*inv(
T
))*
Z'
where inv(sub(
B
)) denotes the inverse of the matrix sub(
B
), and
Z'
denotes the transpose (conjugate transpose) of matrix
Z
.
Input Parameters
m
(global)
INTEGER
.
The number of rows in the distributed matrices sub (
A
)
(
m
0)