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.