Developer Reference

Contents

?larfx

Applies an elementary reflector to a general rectangular matrix, with loop unrolling when the reflector has order less than or equal to 10.

Syntax

lapack_int
LAPACKE_slarfx
(
int
matrix_layout
,
char
side
,
lapack_int
m
,
lapack_int
n
,
const
float
*
v
,
float
tau
,
float
*
c
,
lapack_int
ldc
,
float
*
work
);
lapack_int
LAPACKE_dlarfx
(
int
matrix_layout
,
char
side
,
lapack_int
m
,
lapack_int
n
,
const
double
*
v
,
double
tau
,
double
*
c
,
lapack_int
ldc
,
double
*
work
);
lapack_int
LAPACKE_clarfx
(
int
matrix_layout
,
char
side
,
lapack_int
m
,
lapack_int
n
,
const
lapack_complex_float
*
v
,
lapack_complex_float
tau
,
lapack_complex_float
*
c
,
lapack_int
ldc
,
lapack_complex_float
*
work
);
lapack_int
LAPACKE_zlarfx
(
int
matrix_layout
,
char
side
,
lapack_int
m
,
lapack_int
n
,
const
lapack_complex_double
*
v
,
lapack_complex_double
tau
,
lapack_complex_double
*
c
,
lapack_int
ldc
,
lapack_complex_double
*
work
);
Include Files
  • mkl.h
Description
The routine
?larfx
applies a real/complex elementary reflector
H
to a real/complex
m
-by-
n
matrix
C
, from either the left or the right.
H
is represented in the following forms:
  • H
    =
    I
    -
    tau
    *
    v
    *
    v
    T
    , where
    tau
    is a real scalar and v is a real vector.
  • H
    =
    I
    -
    tau
    *
    v
    *
    v
    H
    , where
    tau
    is a complex scalar and v is a complex vector.
If
tau
= 0
, then
H
is taken to be the unit matrix.
Input Parameters
A
<datatype>
placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
side
If
side
=
'L'
: form
H
*
C
If
side
=
'R'
: form
C
*
H
.
m
The number of rows of the matrix
C
.
n
The number of columns of the matrix
C
.
v
Array, size
(
m
) if
side
=
'L'
or
(
n
) if
side
=
'R'
.
The vector
v
in the representation of
H
.
tau
The value
tau
in the representation of
H
.
c
Array, size
at least max(1,
ldc
*
n
) for column major layout and max (1,
ldc
*
m
) for row major layout
. On entry, the
m
-by-
n
matrix
C
.
ldc
The leading dimension of the array
c
.
lda
(1,
m
).
work
Workspace array, size
(
n
) if
side
=
'L'
or
(
m
) if
side
=
'R'
.
work
is not referenced if
H
has order < 11.
Output Parameters
c
On exit,
C
is overwritten by the matrix
H
*
C
if
side
=
'L'
, or
C
*
H
if
side
=
'R'
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.