SRC/slassq.f90(3)
πΈ SRC/slassq.f90(3) πΈ
Hey bestie! Youβre looking at the Library Functions Manual page for SRC/slassq.f90(3). Itβs giving scaled sum-of-squares helper energy, and we are gonna read every detail together π
β¨ NAME β¨
SRC/slassq.f90
π¦ SYNOPSIS π¦
π§ Functions/Subroutines π§
subroutine slassq (n, x, incx, scale, sumsq)
SLASSQ updates a sum of squares represented in scaled form.
π Function/Subroutine Documentation π
subroutine slassq (integer n, real(wp), dimension(*) x, integer incx,
real(wp) scale, real(wp) sumsq)
SLASSQ updates a sum of squares when itβs represented in scaled form. Iconic. π«
π Purpose π
Okay so SLASSQ 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. Also: scale and sumsq must be supplied in SCALE and SUMSQ, and scale_out and sumsq_out are overwritten on SCALE and SUMSQ respectively. Lock that in, bestie πβ¨
π Parameters π
NβNisINTEGER. The number of elements to be used from the vectorx. πXβXisREAL 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βINCXisINTEGER. The increment between successive values of the vectorx.If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= nIf INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= nIf 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βSCALEisREAL. On entry, the valuescalein the equation above. On exit,SCALEis overwritten byscale_out, the scaling factor for the sum of squares. πSUMSQβSUMSQisREAL. On entry, the valuesumsqin the equation above. On exit,SUMSQis overwritten bysumsq_out, the basic sum of squares from whichscale_outhas 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 slassq.f90.
π€ Author π€
Generated automatically by Doxygen for LAPACK from the source code.
Thatβs the whole page, bestie! LAPACK Version 3.12.0 on SRC/slassq.f90(3) β mwah, bye ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms