CLASSQ(3)
π NAME
okay so bestie, this whole page is about one file, and it lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/classq.f90 β that's the whole NAME section, no cap. it's a man page from the Library Functions Manual, and the page itself is classq.f90(3). π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
subroutine CLASSQ (n, x, incx, scale, sumsq)β CLASSQ updates a sum of squares represented in scaled form. that's literally the whole job, and it ate. π
π Function/Subroutine Documentation π
subroutine CLASSQ (integer n, complex(wp), dimension(*) x, integer incx,
real(wp) scale, real(wp) sumsq)
CLASSQ updates a sum of squares represented in scaled form. iconic behaviour, honestly. πΈ
π Purpose
so here's the vibe check: CLASSQ 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 ). and listen β the value of sumsq is assumed to be non-negative. that's a whole assumption, bestie, don't come at it with negative numbers. π
scale and sumsq must be supplied in SCALE and SUMSQ, and scale_out and sumsq_out are overwritten on SCALE and SUMSQ respectively. so yeah, it's giving in-place, main character energy. β¨
π Parameters
NβN is INTEGER. the number of elements to be used from the vectorx. πXβX is COMPLEX array, dimension (1+(N-1)*abs(INCX)). the vector for which a scaled sum of squares is computed, wherex( i ) = X( 1 + ( i - 1 )*INCX ), 1 <= i <= n. πINCXβINCX is INTEGER. the increment between successive values of the vectorx, and the details matter so here they are exactly:- If
INCX > 0,X(1+(i-1)*INCX) = x(i)for1 <= i <= n - If
INCX < 0,X(1-(n-i)*INCX) = x(i)for1 <= i <= n - If
INCX = 0,xisn't a vector so there is no need to call this subroutine. If you call it anyway, it will countx(1)in the vector normNtimes. π yeah. it'll just do that. you've been warned.
- If
SCALEβSCALE is REAL. on entry, the valuescalein the equation above. on exit,SCALEis overwritten byscale_out, the scaling factor for the sum of squares. π§SUMSQβSUMSQ is REAL. 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. legend behaviour, fr fr.
π Contributors:
Weslley Pereira, University of Colorado Denver, USA β and β Nick Papior, Technical University of Denmark, DK. the squad. π«Ά
β Further Details:
the receipts, bestie, all cited and everything:
- 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 line123of fileclassq.f90. π
π« Author
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a little robot doing its best. π€β¨
and that's the whole page, bestie β this one's LAPACK Version 3.12.0, and the footer path is /home/abui.../classq.f90(3). go forth and scale your sums of squares responsibly. mwah. π
ππ¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms