Developer Reference

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

p?larfg

Generates an elementary reflector (Householder matrix).

Syntax

call pslarfg
(
n
,
alpha
,
iax
,
jax
,
x
,
ix
,
jx
,
descx
,
incx
,
tau
)
call pdlarfg
(
n
,
alpha
,
iax
,
jax
,
x
,
ix
,
jx
,
descx
,
incx
,
tau
)
call pclarfg
(
n
,
alpha
,
iax
,
jax
,
x
,
ix
,
jx
,
descx
,
incx
,
tau
)
call pzlarfg
(
n
,
alpha
,
iax
,
jax
,
x
,
ix
,
jx
,
descx
,
incx
,
tau
)
Description
The
p?larfg
routine
generates a real/complex elementary reflector
H
of order
n
, such that
where
alpha
is a scalar (a real scalar - for complex flavors), and sub(
X
) is an (
n
-1)-element real/complex distributed vector
X
(
ix
:
ix
+
n
-2,
jx
)
if
incx
= 1
and
X
(
ix
,
jx
:
jx
+
n
-2)
if
incx
=
m_x
.
H
is represented in the form
where
tau
is a real/complex scalar and
v
is a real/complex (
n
-1)-element vector. Note that
H
is not Hermitian.
If the elements of sub(
X
) are all zero (and
X
(
iax
,
jax
)
is real for complex flavors), then
tau
= 0
and
H
is taken to be the unit matrix.
Otherwise and
abs(
tau
-1) ≤ 1
.
Input Parameters
n
(global)
INTEGER
.
The global order of the elementary reflector.
n
0
.
iax
,
jax
(global)
INTEGER
.
The global row and column indices of
X
(
iax
,
jax
)
in the global matrix
X
.
x
(local).
REAL
for
pslarfg
DOUBLE PRECISION
for
pdlarfg
COMPLEX
for
pclarfg
COMPLEX*16
for
pzlarfg
.
Pointer into the local memory to an array of size
(
lld_x
, *)
. This array contains the local pieces of the distributed vector sub(
X
). Before entry, the incremented array sub(
X
) must contain vector
x
.
ix
,
jx
(global)
INTEGER
.
The row and column indices in the global matrix
X
indicating the first row and the first column of sub(
X
), respectively.
descx
(global and local)
INTEGER
.
Array of size
dlen_
. The array descriptor for the distributed matrix
X
.
incx
(global)
INTEGER
.
The global increment for the elements of
x
. Only two values of
incx
are supported in this version, namely 1 and
m_x
.
incx
must not be zero.
Output Parameters
alpha
(local)
REAL
for
pslafg
DOUBLE PRECISION
for
pdlafg
COMPLEX
for
pclafg
COMPLEX*16
for
pzlafg
.
On exit,