Developer Reference

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

p?larfc

Applies the conjugate transpose of an elementary reflector to a general matrix.

Syntax

call pclarfc
(
side
,
m
,
n
,
v
,
iv
,
jv
,
descv
,
incv
,
tau
,
c
,
ic
,
jc
,
descc
,
work
)
call pzlarfc
(
side
,
m
,
n
,
v
,
iv
,
jv
,
descv
,
incv
,
tau
,
c
,
ic
,
jc
,
descc
,
work
)
Description
The
p?larfc
routine
applies a complex elementary reflector
Q
H
to a complex
m
-by-
n
distributed matrix sub(
C
) =
C
(
ic
:
ic
+
m
-1
,
jc
:
jc
+
n
-1)
, from either the left or the right.
Q
is represented in the form
Q
=
i
-
tau
*
v
*
v'
,
where
tau
is a complex scalar and
v
is a complex vector.
If
tau
= 0
, then
Q
is taken to be the unit matrix.
Input Parameters
side
(global)
CHARACTER
.
if
side
=
'L'
: form
Q
H
*sub(
C
)
;
if
side
=
'R'
: form sub
(
C
)*Q
H
.
m
(global)
INTEGER
.
The number of rows in the distributed matrix sub(
C
).
(
m
0)
.
n
(global)
INTEGER
.
The number of columns in the distributed matrix sub(
C
).
(
n
0)
.
v
(local).
COMPLEX
for
pclarfc
COMPLEX*16
for
pzlarfc
.
Pointer into the local memory to an array of size
(
lld_v
,*)
, containing the local pieces of the global distributed matrix
V
representing the Householder transformation
Q
,
V
(
iv
:
iv
+
m
-1,
jv
)
if
side
=
'L'
and
incv
= 1
,
V
(
iv
,
jv
:
jv
+
m
-1)
if
side
=
'L'
and
incv
=
m_v
,
V
(
iv
:
iv
+
n
-1,
jv
)
if
side
=
'R'
and
incv
= 1
,
V
(
iv
,
jv
:
jv
+
n
-1)
if
side
=
'R'
and
incv
=
m_v
.
The array
v
is the representation of
Q
.
v
is not used if
tau
= 0
.
iv
,
jv
(global)
INTEGER
.
The row and column indices in the global matrix
V
indicating the first row and the first column of the matrix sub(
V
), respectively.
descv
(global and local)
INTEGER
array of size
dlen_
. The array descriptor for the distributed matrix
V
.
incv
(global)
INTEGER
.
The global increment for the elements of
v
. Only two values of
incv
are supported in this version, namely 1 and
m_v
.
incv
must not be zero.
tau
(local)