larfgp#
Functions
-
void slarfgp(const INT n, f32 *alpha, f32 *restrict x, const INT incx, f32 *tau)#
SLARFGP generates a real elementary reflector H of order n, such that.
where alpha and beta are scalars, beta is non-negative, 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.
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 slarfgp(
const INT n,
f32* alpha,
f32* restrict x,
const INT incx,
f32* tau
);
Functions
-
void dlarfgp(const INT n, f64 *alpha, f64 *restrict x, const INT incx, f64 *tau)#
DLARFGP generates a real elementary reflector H of order n, such that.
where alpha and beta are scalars, beta is non-negative, 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.
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 dlarfgp(
const INT n,
f64* alpha,
f64* restrict x,
const INT incx,
f64* tau
);
Functions
-
void clarfgp(const INT n, c64 *alpha, c64 *restrict x, const INT incx, c64 *tau)#
CLARFGP generates a complex elementary reflector H of order n, such that.
where alpha and beta are scalars, beta is real and non-negative, 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.
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 clarfgp(
const INT n,
c64* alpha,
c64* restrict x,
const INT incx,
c64* tau
);
Functions
-
void zlarfgp(const INT n, c128 *alpha, c128 *restrict x, const INT incx, c128 *tau)#
ZLARFGP generates a complex elementary reflector H of order n, such that.
where alpha and beta are scalars, beta is real and non-negative, 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.
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 zlarfgp(
const INT n,
c128* alpha,
c128* restrict x,
const INT incx,
c128* tau
);