Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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
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 )
Include Files
mkl.fi
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
The data types are given for the Fortran interface.
side
CHARACTER*1 .
If side = 'L' : form H*C If side = 'R' : form C*H .
m
INTEGER . The number of rows of the matrix C .
n
INTEGER . 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 ldc by n . On entry, the m -by- n matrix C .
ldc
INTEGER . 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' .