Previous: dlasr Up: ../lapack-d.html Next: dlasv2

# dlassq

```
NAME
DLASSQ - return the values scl and smsq such that   ( scl**2
)*smsq = x( 1 )**2 +...+ x( n )**2 + ( scale**2 )*sumsq,

SYNOPSIS
SUBROUTINE DLASSQ( N, X, INCX, SCALE, SUMSQ )

INTEGER        INCX, N

DOUBLE         PRECISION SCALE, SUMSQ

DOUBLE         PRECISION X( * )

PURPOSE
DLASSQ  returns the values  scl  and  smsq  such that

where  x( i ) = X( 1 + ( i - 1 )*INCX ). The value of  sumsq
is assumed to be non-negative and  scl  returns the value

scl = max( scale, abs( x( i ) ) ).

scale and sumsq must be supplied in SCALE and SUMSQ and
scl and smsq are overwritten on SCALE and SUMSQ respec-
tively.

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 for which a scaled sum of squares is com-
puted.  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  scl , the scal-
ing factor for the sum of squares.

SUMSQ   (input/output) DOUBLE PRECISION
On entry, the value  sumsq  in the equation above.
On exit, SUMSQ is overwritten with  smsq , the basic
sum of squares from which  scl  has been factored
out.
```