larfgp#

Functions

void slarfgp(
    const INT           n,
          f32*          alpha,
          f32* restrict x,
    const INT           incx,
          f32*          tau
);
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.

  H * ( alpha ) = ( beta ),   H**T * H = I.
      (   x   )   (   0  )
where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form
  H = I - tau * ( 1 ) * ( 1 v**T ),
                ( v )
where tau is a real scalar and v is a real (n-1)-element vector.

If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.

Parameters

in
n

The order of the elementary reflector.

inout
alpha

On entry, the value alpha. On exit, it is overwritten with the value beta.

inout
x

Double precision array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.

in
incx

The increment between elements of x. incx > 0.

out
tau

The value tau.

Functions

void dlarfgp(
    const INT           n,
          f64*          alpha,
          f64* restrict x,
    const INT           incx,
          f64*          tau
);
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.

  H * ( alpha ) = ( beta ),   H**T * H = I.
      (   x   )   (   0  )
where alpha and beta are scalars, beta is non-negative, and x is an (n-1)-element real vector. H is represented in the form
  H = I - tau * ( 1 ) * ( 1 v**T ),
                ( v )
where tau is a real scalar and v is a real (n-1)-element vector.

If the elements of x are all zero, then tau = 0 and H is taken to be the unit matrix.

Parameters

in
n

The order of the elementary reflector.

inout
alpha

On entry, the value alpha. On exit, it is overwritten with the value beta.

inout
x

Double precision array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.

in
incx

The increment between elements of x. incx > 0.

out
tau

The value tau.

Functions

void clarfgp(
    const INT           n,
          c64*          alpha,
          c64* restrict x,
    const INT           incx,
          c64*          tau
);
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.

  H**H * ( alpha ) = ( beta ),   H**H * H = I.
         (   x   )   (   0  )
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 form
  H = I - tau * ( 1 ) * ( 1 v**H ) ,
                ( v )
where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian.

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

in
n

The order of the elementary reflector.

inout
alpha

On entry, the value alpha. On exit, it is overwritten with the value beta.

inout
x

Single complex array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.

in
incx

The increment between elements of x. incx > 0.

out
tau

The value tau.

Functions

void zlarfgp(
    const INT            n,
          c128*          alpha,
          c128* restrict x,
    const INT            incx,
          c128*          tau
);
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.

  H**H * ( alpha ) = ( beta ),   H**H * H = I.
         (   x   )   (   0  )
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 form
  H = I - tau * ( 1 ) * ( 1 v**H ) ,
                ( v )
where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian.

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

in
n

The order of the elementary reflector.

inout
alpha

On entry, the value alpha. On exit, it is overwritten with the value beta.

inout
x

Double complex array, dimension (1+(n-2)*abs(incx)). On entry, the vector x. On exit, it is overwritten with the vector v.

in
incx

The increment between elements of x. incx > 0.

out
tau

The value tau.