zlarfg(3P)
NAME
zlarfg - generate a complex elementary reflector H of order n, such that H’ ∗ ( alpha ) = ( beta ), H’ ∗ H = I
SYNOPSIS
SUBROUTINE ZLARFG(
N, ALPHA, X, INCX, TAU )
void zlarfg(long int n, doublecomplex ∗zalpha, doublecomplex ∗zx, long int incx, doublecomplex ∗tau)
INTEGER INCX, N
COMPLEX∗16 ALPHA, TAU
COMPLEX∗16 X( ∗ )
PURPOSE
ZLARFG generates a complex elementary reflector H of order n, such that
( x ) ( 0 )
where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form
H = I - tau ∗ ( 1 ) ∗ ( 1 v’ ) ,
( 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.
Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .
ARGUMENTS
N (input) INTEGER
The order of the elementary reflector.
ALPHA (input/output) COMPLEX∗16
On entry, the value alpha. On exit, it is overwritten with the value beta.
X (input/output) COMPLEX∗16 array, dimension
(1+(N-2)∗abs(INCX)) On entry, the vector x. On exit, it is overwritten with the vector v.
INCX (input) INTEGER
The increment between elements of X. INCX > 0.
TAU (output) COMPLEX∗16
The value tau.
Sun, Inc. — Last change: 20 Sep 1996