Developer Reference

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

?larfg

Generates an elementary reflector (Householder matrix).

Syntax

call slarfg
(
n
,
alpha
,
x
,
incx
,
tau
)
call dlarfg
(
n
,
alpha
,
x
,
incx
,
tau
)
call clarfg
(
n
,
alpha
,
x
,
incx
,
tau
)
call zlarfg
(
n
,
alpha
,
x
,
incx
,
tau
)
Include Files
  • mkl.fi
Description
The routine
?larfg
generates a real/complex elementary reflector
H
of order
n
, such that
for real flavors and
Equation for complex flavors,
where
alpha
and
beta
are scalars (with
beta
real for all flavors), and
x
is an (
n
-1)-element real/complex vector.
H
is represented in the form
for real flavors and
Equation for complex flavors,
where
tau
is a real/complex scalar and v is a real/complex (
n
-1)-element vector, respectively. Note that for
clarfg
/
zlarfg
,
H
is not Hermitian.
If the elements of
x
are all zero (and, for complex flavors,
alpha
is real), then
tau
= 0
and
H
is taken to be the unit matrix.
Otherwise,
1 ≤
tau
≤ 2
(for real flavors), or
1 ≤ Re(
tau
) ≤ 2
and
abs(
tau
-1) ≤ 1
(for complex flavors).
Input Parameters
The data types are given for the Fortran interface.
n
INTEGER
.
The order of the elementary reflector.
alpha
REAL
for
slarfg
DOUBLE PRECISION
for
dlarfg
COMPLEX
for
clarfg
DOUBLE COMPLEX
for
zlarfg
On entry, the value alpha.
x
REAL
for
slarfg
DOUBLE PRECISION
for
dlarfg
COMPLEX
for
clarfg
DOUBLE COMPLEX
for
zlarfg
Array, size (1+(
n
-2)*abs(
incx
)).
On entry, the vector
x
.
incx
INTEGER
.
The increment between elements of
x
.
incx
> 0
.
Output Parameters
alpha
On exit, it is overwritten with the value
beta
.
x
On exit, it is overwritten with the vector
v
.
tau
REAL
for
slarfg
DOUBLE PRECISION
for
dlarfg
COMPLEX
for
clarfg
DOUBLE COMPLEX
for
zlarfg
The value
tau
.