Developer Reference for Intel® oneAPI Math Kernel Library for C
?larfg
Generates an elementary reflector (Householder matrix).
Syntax
lapack_intLAPACKE_slarfg ( lapack_intn , float*alpha , float*x , lapack_intincx , float*tau );
lapack_intLAPACKE_dlarfg ( lapack_intn , double*alpha , double*x , lapack_intincx , double*tau );
lapack_intLAPACKE_clarfg ( lapack_intn , lapack_complex_float*alpha , lapack_complex_float*x , lapack_intincx , lapack_complex_float*tau );
lapack_intLAPACKE_zlarfg ( lapack_intn , lapack_complex_double*alpha , lapack_complex_double*x , lapack_intincx , lapack_complex_double*tau );
Include Files
mkl.h
Description
slarfg dlarfg clarfg zlarfg
The routine ?larfg generates a real/complex elementary reflector H of order n , such that
for real flavors and
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
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
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.
n
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
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 .
Return Values
This function returns a value, info.
If info = 0 , the execution is successful.
If info = -2 , alpha is NaN
If info = -3 , array x contains NaN components.