Previous: zlasr Up: ../lapack-z.html Next: zlaswp
NAME
ZLASSQ - return the values scl and ssq such that ( scl**2
)*ssq = x( 1 )**2 +...+ x( n )**2 + ( scale**2 )*sumsq,
SYNOPSIS
SUBROUTINE ZLASSQ( N, X, INCX, SCALE, SUMSQ )
INTEGER INCX, N
DOUBLE PRECISION SCALE, SUMSQ
COMPLEX*16 X( * )
PURPOSE
ZLASSQ returns the values scl and ssq such that
where x( i ) = abs( X( 1 + ( i - 1 )*INCX ) ). The value of
sumsq is assumed to be at least unity and the value of ssq
will then satisfy
1.0 .le. ssq .le. ( sumsq + 2*n ).
scale is assumed to be non-negative and scl returns the
value
scl = max( scale, abs( real( x( i ) ) ), abs( aimag( x( i
) ) ) ),
i
scale and sumsq must be supplied in SCALE and SUMSQ respec-
tively. SCALE and SUMSQ are overwritten by scl and ssq
respectively.
The routine makes only one pass through the vector X.
ARGUMENTS
N (input) INTEGER
The number of elements to be used from the vector X.
X (input) DOUBLE PRECISION
The vector x as described above. x( i ) = X( 1 + (
i - 1 )*INCX ), 1 <= i <= n.
INCX (input) INTEGER
The increment between successive values of the vec-
tor X. INCX > 0.
SCALE (input/output) DOUBLE PRECISION
On entry, the value scale in the equation above.
On exit, SCALE is overwritten with the value scl .
SUMSQ (input/output) DOUBLE PRECISION
On entry, the value sumsq in the equation above.
On exit, SUMSQ is overwritten with the value ssq .