BLAS/SRC/sdsdot.f(3)

πŸ’– BLAS/SRC/sdsdot.f πŸ’–

okay bestie, we're in the LAPACK BLAS section and this page is literally all about BLAS/SRC/sdsdot.f β€” one tiny file, one very cute function, and she's the main character of this whole doc. pull up a chair 🫢


✨ SYNOPSIS ✨

Functions/Subroutines

real function sdsdot (n, sb, sx, incx, sy, incy)
  • SDSDOT β€” that's her. that's the girl. πŸŽ€

πŸ“– Function/Subroutine Documentation πŸ“–

real function sdsdot

real function sdsdot (integer n, real sb, real, dimension(*) sx, integer
    incx, real, dimension(*) sy, integer incy)

SDSDOT πŸ’…

🌸 Purpose 🌸

so what does she DO? she computes the inner product of two vectors with extended precision accumulation. like, she's doing the math in double precision and handing you back a single precision result. no cap, that's the whole vibe.

  • Returns S.P. result with dot product accumulated in D.P.
  • The formula, verbatim, because we do NOT paraphrase math:
SDSDOT = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY)

where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.

so cute, so precise, so iconic ✨

🧚 Parameters 🧚

  • N β€” N is INTEGER. it's the number of elements in the input vector(s). the headcount bestie πŸ’œ
  • SB β€” SB is REAL. a single precision scalar that gets added to the inner product. she's the little bonus sprinkle on top πŸ“
  • SX β€” SX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ). single precision vector with N elements. she's bringing the numbers ✨
  • INCX β€” INCX is INTEGER. the storage spacing between elements of SX. think of it as how far apart the girls are standing in the array πŸ’…
  • SY β€” SY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ). single precision vector with N elements. (yes, the dimension line says INCX right there, we are reading it exactly as it is, no editing on my watch 😭)
  • INCY β€” INCY is INTEGER. the storage spacing between elements of SY. same energy as INCX, different letter πŸ¦‹

πŸ‘‘ Author πŸ‘‘

  • Lawson, C. L., (JPL), Hanson, R. J., (SNLA),
  • Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)
  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad. legends only πŸ”₯

πŸ“š Further Details πŸ“š

REFERENCES

C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. Krogh, Basic linear algebra subprograms for Fortran usage, Algorithm No. 539, Transactions on Mathematical Software 5, 3 (September 1979), pp. 308-323.

REVISION HISTORY (YYMMDD)

okay this is the glow-up timeline and it is LONG. she's been evolving since 1979, we love a longevity queen πŸ‘‘

  • 791001 β€” DATE WRITTEN
  • 890531 β€” Changed all specific intrinsics to generic. (WRB)
  • 890831 β€” Modified array declarations. (WRB)
  • 890831 β€” REVISION DATE from Version 3.2
  • 891214 β€” Prologue converted to Version 4.0 format. (BAB)
  • 920310 β€” Corrected definition of LX in DESCRIPTION. (WRB)
  • 920501 β€” Reformatted the REFERENCES section. (WRB)
  • 070118 β€” Reformat to LAPACK coding style
ngl the fact that there are TWO entries dated 890831? iconic. we do not question the archive, we simply respect it πŸ™ˆ

πŸ“ Definition at line 112 of file sdsdot.f. πŸ“

πŸ–ŠοΈ Author πŸ–ŠοΈ

Generated automatically by Doxygen for LAPACK from the source code. (yes the page has an Author section twice β€” once for the humans, once for the robot. balance πŸ’€)


and that's the whole page, bestie!! you made it to the very end, so here's the cute sign-off: this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and it belongs to the BLAS/SRC/sdsdot.f(3) page of LAPACK. go forth and dot those products, you absolute genius πŸŒˆπŸ’–βœ¨