larfg#
Functions
-
void slarfg(const INT n, f32 *alpha, f32 *x, const INT incx, f32 *tau)#
SLARFG generates a real elementary reflector H of order n, such that.
where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the formH * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 )
where tau is a real scalar and v is a real (n-1)-element vector.H = I - tau * ( 1 ) * ( 1 v**T ), ( v )
If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.
Otherwise 1 <= tau <= 2.
Parameters
innThe order of the elementary reflector.
inoutalphaOn entry, the value alpha. On exit, it is overwritten with the value beta.
inoutxDouble precision array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.
inincxThe increment between elements of x. incx > 0.
outtauThe value tau.
void slarfg(
const INT n,
f32* alpha,
f32* x,
const INT incx,
f32* tau
);
Functions
-
void dlarfg(const INT n, f64 *alpha, f64 *x, const INT incx, f64 *tau)#
DLARFG generates a real elementary reflector H of order n, such that.
where alpha and beta are scalars, and x is an (n-1)-element real vector. H is represented in the formH * ( alpha ) = ( beta ), H**T * H = I. ( x ) ( 0 )
where tau is a real scalar and v is a real (n-1)-element vector.H = I - tau * ( 1 ) * ( 1 v**T ), ( v )
If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.
Otherwise 1 <= tau <= 2.
Parameters
innThe order of the elementary reflector.
inoutalphaOn entry, the value alpha. On exit, it is overwritten with the value beta.
inoutxDouble precision array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.
inincxThe increment between elements of x. incx > 0.
outtauThe value tau.
void dlarfg(
const INT n,
f64* alpha,
f64* x,
const INT incx,
f64* tau
);
Functions
-
void clarfg(const INT n, c64 *alpha, c64 *x, const INT incx, c64 *tau)#
CLARFG generates a complex elementary reflector H of order n, such that.
where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the formH**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 )
where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian.H = I - tau * ( 1 ) * ( 1 v**H ) , ( v )
If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.
Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .
Parameters
innThe order of the elementary reflector.
inoutalphaOn entry, the value alpha. On exit, it is overwritten with the value beta.
inoutxSingle complex array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.
inincxThe increment between elements of x. incx > 0.
outtauThe value tau.
void clarfg(
const INT n,
c64* alpha,
c64* x,
const INT incx,
c64* tau
);
Functions
-
void zlarfg(const INT n, c128 *alpha, c128 *x, const INT incx, c128 *tau)#
ZLARFG generates a complex elementary reflector H of order n, such that.
where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the formH**H * ( alpha ) = ( beta ), H**H * H = I. ( x ) ( 0 )
where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian.H = I - tau * ( 1 ) * ( 1 v**H ) , ( v )
If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.
Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .
Parameters
innThe order of the elementary reflector.
inoutalphaOn entry, the value alpha. On exit, it is overwritten with the value beta.
inoutxDouble complex array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.
inincxThe increment between elements of x. incx > 0.
outtauThe value tau.
void zlarfg(
const INT n,
c128* alpha,
c128* x,
const INT incx,
c128* tau
);