Developer Reference

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

p?larft

Forms the triangular vector
T
of a block reflector
H=I-V*T*V
H
.

Syntax

call pslarft
(
direct
,
storev
,
n
,
k
,
v
,
iv
,
jv
,
descv
,
tau
,
t
,
work
)
call pdlarft
(
direct
,
storev
,
n
,
k
,
v
,
iv
,
jv
,
descv
,
tau
,
t
,
work
)
call pclarft
(
direct
,
storev
,
n
,
k
,
v
,
iv
,
jv
,
descv
,
tau
,
t
,
work
)
call pzlarft
(
direct
,
storev
,
n
,
k
,
v
,
iv
,
jv
,
descv
,
tau
,
t
,
work
)
Description
The
p?larft
routine
forms the triangular factor
T
of a real/complex block reflector
H
of order
n
, which is defined as a product of
k
elementary reflectors.
If
direct
=
'F'
,
H
=
H
(1)*
H
(2)...*
H
(
k
)
, and
T
is upper triangular;
If
direct
=
'B',
H
=
H
(
k
)*...*
H
(2)*
H
(1)
, and
T
is lower triangular.
If
storev
=
'C'
, the vector which defines the elementary reflector
H
(
i
)
is stored in the
i
-th column of the distributed matrix
V
, and
H
=
I
-
V
*
T
*
V'
If
storev
=
'R'
, the vector which defines the elementary reflector
H
(
i
)
is stored in the
i
-th row of the distributed matrix
V
, and
H
=
I
-
V'
*
T
*
V
.
Input Parameters
direct
(global)
CHARACTER*1
.
Specifies the order in which the elementary reflectors are multiplied to form the block reflector:
if
direct
=
'F'
:
H
=
H
(1)*
H
(2)*...*
H
(
k
)
(forward)
if
direct
=
'B'
:
H
=
H
(
k
)*...*
H
(2)*
H
(1)
(backward).
storev
(global)
CHARACTER*1
.
Specifies how the vectors that define the elementary reflectors are stored
(See
Application Notes
below)
:
if
storev
=
'C'
: columnwise;
if
storev
=