SRC/classq.f90(3)
πΈ NAME πΈ
SRC/classq.f90 β hi bestie π this is the SRC/classq.f90(3) page from the Library Functions Manual, and it's all about the classq subroutine. No cap. β¨
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines π¦
subroutine classq (n, x, incx, scale, sumsq)βCLASSQupdates a sum of squares represented in scaled form.
π 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. π«Ά
π Purpose π
Okay so 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 ). The value of sumsq is assumed to be non-negative. Important vibe check: 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. It's the number of elements to be used from the vector x. π
X
X is COMPLEX array, dimension (1+(N-1)*abs(INCX)). It's 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. It's the increment between successive values of the vector x. π¦
- 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. Not me warning you, but bestie, that's what it does. π
SCALE
SCALE is REAL. 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 REAL. 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 classq.f90. π
ποΈ Author ποΈ
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page π
β¨ the footer tea is LAPACK, Version 3.12.0, source SRC/classq.f90(3) β and there's no date in that footer, so I'm not inventing one, periodt. π«Άπ
π¦ 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