Developer Reference for Intel® oneAPI Math Kernel Library for C
?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_intLAPACKE_slarfx ( intmatrix_layout , charside , lapack_intm , lapack_intn , constfloat*v , floattau , float*c , lapack_intldc , float*work );
lapack_intLAPACKE_dlarfx ( intmatrix_layout , charside , lapack_intm , lapack_intn , constdouble*v , doubletau , double*c , lapack_intldc , double*work );
lapack_intLAPACKE_clarfx ( intmatrix_layout , charside , lapack_intm , lapack_intn , constlapack_complex_float*v , lapack_complex_floattau , lapack_complex_float*c , lapack_intldc , lapack_complex_float*work );
lapack_intLAPACKE_zlarfx ( intmatrix_layout , charside , lapack_intm , lapack_intn , constlapack_complex_double*v , lapack_complex_doubletau , lapack_complex_double*c , lapack_intldc , lapack_complex_double*work );
Include Files
mkl.h
Description
slarfx dlarfx clarfx zlarfx
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
-
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 .
- tau
-
REAL for slarfx DOUBLE PRECISION for dlarfx COMPLEX for clarfx DOUBLE COMPLEX for zlarfx The value tau in the representation of H .
- c
-
REAL for slarfx DOUBLE PRECISION for dlarfx COMPLEX for clarfx DOUBLE COMPLEX for zlarfx
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
-
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.
Output Parameters
- c
-
On exit, C is overwritten by the matrix H*C if side = 'L' , or C*H if side = 'R' .