Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?larfgp
Generates an elementary reflector (Householder matrix) with non-negative beta .
Syntax
call slarfgp ( n , alpha , x , incx , tau )
call dlarfgp ( n , alpha , x , incx , tau )
call clarfgp ( n , alpha , x , incx , tau )
call zlarfgp ( n , alpha , x , incx , tau )
Include Files
mkl.fi
Description
slarfgp dlargfp clarfgp zlarfgp
The routine ?larfgp 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 and non-negative 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. Note that for c / zlarfgp , 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
- n
-
INTEGER . The order of the elementary reflector.
- alpha
-
REAL for slarfgp DOUBLE PRECISION for dlarfgp COMPLEX for clarfgp DOUBLE COMPLEX for zlarfgp On entry, the value alpha.
- x
-
REAL for s DOUBLE PRECISION for dlarfgp COMPLEX for clarfgp DOUBLE COMPLEX for zlarfgp Array, DIMENSION (1+( n -2)*abs( incx )). On entry, the vector x .
- incx
-
INTEGER . 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 slarfgp DOUBLE PRECISION for dlarfgp COMPLEX for clarfgp DOUBLE COMPLEX for zlarfgp The value tau .