Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Applies an elementary reflector to a general rectangular matrix, with loop unrolling when the reflector has order less than or equal to 10.
call slarfx( side, m, n, v, tau, c, ldc, work )
call dlarfx( side, m, n, v, tau, c, ldc, work )
call clarfx( side, m, n, v, tau, c, ldc, work )
call zlarfx( side, m, n, v, tau, c, ldc, work )
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*vT, where tau is a real scalar and v is a real vector.
H = I - tau*v*vH, where tau is a complex scalar and v is a complex vector.
If tau = 0, then H is taken to be the unit matrix.
The data types are given for the Fortran interface.
CHARACTER*1.
If side = 'L': form H*C
If side = 'R': form C*H.
INTEGER. The number of rows of the matrix C.
INTEGER. The number of columns of the matrix C.
REAL for slarfx
DOUBLE PRECISION for dlarfx
COMPLEX for clarfx
DOUBLE COMPLEX for zlarfx
Array, size
(m) if side = 'L' or
(n) if side = 'R'.
The vector v in the representation of H.
REAL for slarfx
DOUBLE PRECISION for dlarfx
COMPLEX for clarfx
DOUBLE COMPLEX for zlarfx
The value tau in the representation of H.
REAL for slarfx
DOUBLE PRECISION for dlarfx
COMPLEX for clarfx
DOUBLE COMPLEX for zlarfx
Array, size ldc by n. On entry, the m-by-n matrix C.
INTEGER. The leading dimension of the array c. lda≥ (1,m).
REAL for slarfx
DOUBLE PRECISION for dlarfx
COMPLEX for clarfx
DOUBLE COMPLEX for zlarfx
Workspace array, size
(n) if side = 'L' or
(m) if side = 'R'.
work is not referenced if H has order < 11.
On exit, C is overwritten by the matrix H*C if side = 'L', or C*H if side = 'R'.