Sponsor:

Your company here, and a link to your site. Click to find out more.

dlassq.f90 - Man Page

SRC/dlassq.f90

Synopsis

Functions/Subroutines

subroutine dlassq (n, x, incx, scale, sumsq)
DLASSQ updates a sum of squares represented in scaled form.

Function/Subroutine Documentation

subroutine dlassq (integer n, real(wp), dimension(*) x, integer incx, real(wp) scale, real(wp) sumsq)

DLASSQ updates a sum of squares represented in scaled form.  

Purpose:

 DLASSQ returns the values scale_out and sumsq_out such that

    (scale_out**2)*sumsq_out = x( 1 )**2 +...+ x( n )**2 + (scale**2)*sumsq,

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

 scale and sumsq must be supplied in SCALE and SUMSQ and
 scale_out and sumsq_out are overwritten on SCALE and SUMSQ respectively.
Parameters

N

          N is INTEGER
          The number of elements to be used from the vector x.

X

          X is DOUBLE PRECISION array, dimension (1+(N-1)*abs(INCX))
          The vector for which a scaled sum of squares is computed.
             x( i ) = X( 1 + ( i - 1 )*INCX ), 1 <= i <= n.

INCX

          INCX is INTEGER
          The increment between successive values of the vector x.
          If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
          If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
          If INCX = 0, x isn't a vector so there is no need to call
          this subroutine. If you call it anyway, it will count x(1)
          in the vector norm N times.

SCALE

          SCALE is DOUBLE PRECISION
          On entry, the value scale in the equation above.
          On exit, SCALE is overwritten by scale_out, the scaling factor
          for the sum of squares.

SUMSQ

          SUMSQ is DOUBLE PRECISION
          On entry, the value sumsq in the equation above.
          On exit, SUMSQ is overwritten by sumsq_out, the basic sum of
          squares from which scale_out has been factored out.
Author

Edward Anderson, Lockheed Martin

Contributors:

Weslley Pereira, University of Colorado Denver, USA Nick Papior, Technical University of Denmark, DK

Further Details:

  Anderson E. (2017)
  Algorithm 978: Safe Scaling in the Level 1 BLAS
  ACM Trans Math Softw 44:1--28
  https://doi.org/10.1145/3061665

  Blue, James L. (1978)
  A Portable Fortran Program to Find the Euclidean Norm of a Vector
  ACM Trans Math Softw 4:15--23
  https://doi.org/10.1145/355769.355771

Definition at line 123 of file dlassq.f90.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Referenced By

The man page dlassq(3) is an alias of dlassq.f90(3).

Tue Nov 28 2023 12:08:42 Version 3.12.0 LAPACK