dot(3)

πŸ’– dot(3) πŸ’–

Library Functions Manual

okay so this is the dot-product family page, and it is lowkey iconic. The whole vibe is literally dot: x^H x and x^T x, no cap. πŸ’…


✨ NAME ✨

dot β€” dot: x^H x and x^T x


πŸ¦‹ SYNOPSIS πŸ¦‹

🌈 Functions 🌈

Here’s the full lineup, bestie β€” every signature exactly as listed:

complex function cdotc (n, cx, incx, cy, incy)
    CDOTC
complex function cdotu (n, cx, incx, cy, incy)
    CDOTU
double precision function ddot (n, dx, incx, dy, incy)
    DDOT
double precision function dsdot (n, sx, incx, sy, incy)
    DSDOT
real function sdot (n, sx, incx, sy, incy)
    SDOT
real function sdsdot (n, sb, sx, incx, sy, incy)
    SDSDOT
complex *16 function zdotc (n, zx, incx, zy, incy)
    ZDOTC
complex *16 function zdotu (n, zx, incx, zy, incy)
    ZDOTU

🫧 Detailed Description 🫧

This section is blank in the original. Literally giving empty. Moving on. πŸ’€


πŸ”₯ Function Documentation πŸ”₯

🌸 cdotc 🌸

complex function cdotc (integer n, complex, dimension(*) cx, integer incx, complex, dimension(*) cy, integer incy)

CDOTC

Purpose: CDOTC forms the dot product of two complex vectors β€” CDOTC = X^H * Y.

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • CX β€” COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ).
  • INCX β€” INTEGER; storage spacing between elements of CX.
  • CY β€” COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) ).
  • INCY β€” INTEGER; storage spacing between elements of CY.

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Further Details:

jack dongarra, linpack,  3/11/78.
modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 82 of file cdotc.f.


🌸 cdotu 🌸

complex function cdotu (integer n, complex, dimension(*) cx, integer incx, complex, dimension(*) cy, integer incy)

CDOTU

Purpose: CDOTU forms the dot product of two complex vectors β€” CDOTU = X^T * Y.

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • CX β€” COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCX ) ).
  • INCX β€” INTEGER; storage spacing between elements of CX.
  • CY β€” COMPLEX array, dimension ( 1 + ( N - 1 )*abs( INCY ) ).
  • INCY β€” INTEGER; storage spacing between elements of CY.

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Further Details:

jack dongarra, linpack,  3/11/78.
modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 82 of file cdotu.f.


🌸 ddot 🌸

double precision function ddot (integer n, double precision, dimension(*) dx, integer incx, double precision, dimension(*) dy, integer incy)

DDOT

Purpose: DDOT forms the dot product of two vectors. It uses unrolled loops for increments equal to one. ✨

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • DX β€” DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ).
  • INCX β€” INTEGER; storage spacing between elements of DX.
  • DY β€” DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) ).
  • INCY β€” INTEGER; storage spacing between elements of DY.

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Further Details:

jack dongarra, linpack,  3/11/78.
modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 81 of file ddot.f.


🌸 dsdot 🌸

double precision function dsdot (integer n, real, dimension(*) sx, integer incx, real, dimension(*) sy, integer incy)

DSDOT

Purpose: Compute the inner product of two vectors with extended precision accumulation and result.

Returns D.P. dot product accumulated in D.P., for S.P. SX and SY:

DSDOT = 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.

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • SX β€” REAL array, dimension (N); single precision vector with N elements.
  • INCX β€” INTEGER; storage spacing between elements of SX.
  • SY β€” REAL array, dimension (N); single precision vector with N elements.
  • INCY β€” INTEGER; storage spacing between elements of SY.

Returns

  • DSDOT β€” DOUBLE PRECISION; the DSDOT double precision dot product (zero if N.LE.0).

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

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)
!>
!>  791001  DATE WRITTEN
!>  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 style (JL)
!>

Definition at line 118 of file dsdot.f.


🌸 sdot 🌸

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

SDOT

Purpose: SDOT forms the dot product of two vectors. It uses unrolled loops for increments equal to one. 🫢

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • SX β€” REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ).
  • INCX β€” INTEGER; storage spacing between elements of SX.
  • SY β€” REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) ).
  • INCY β€” INTEGER; storage spacing between elements of SY.

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Further Details:

jack dongarra, linpack,  3/11/78.
modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 81 of file sdot.f.


🌸 sdsdot 🌸

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

SDSDOT

Purpose: Compute the inner product of two vectors with extended precision accumulation.

Returns S.P. result with dot product accumulated in D.P.

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.

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • SB β€” REAL; single precision scalar to be added to inner product.
  • SX β€” REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ); single precision vector with N elements.
  • INCX β€” INTEGER; storage spacing between elements of SX.
  • SY β€” REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) ); single precision vector with N elements.
  • INCY β€” INTEGER; storage spacing between elements of SY.

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.

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)
!>
!>    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
!>

Definition at line 112 of file sdsdot.f.


🌸 zdotc 🌸

complex*16 function zdotc (integer n, complex*16, dimension(*) zx, integer incx, complex*16, dimension(*) zy, integer incy)

ZDOTC

Purpose: ZDOTC forms the dot product of two complex vectors β€” ZDOTC = X^H * Y.

Parameters

  • N β€” INTEGER; number of elements in input vector(s).
  • ZX β€” COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ).
  • INCX
  • INCX β€” INTEGER, bestie. It's the storage spacing between the elements of ZX. like how far apart they're sitting in memory πŸ’…
  • ZY β€” COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) ). the second vector, no cap πŸ¦‹
  • INCY β€” INTEGER, and yep it does the exact same thing as INCX but for ZY β€” storage spacing between elements of ZY ✨

✨ Author ✨

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸŽ€ Further Details: πŸŽ€

!>
!>     jack dongarra, 3/11/78.
!>     modified 12/3/93, array(1) declarations changed to array(*)
!>

shoutout to jack dongarra, 3/11/78, and the 12/3/93 glow-up where array(1) declarations got changed to array(*) β€” we love an evolution era πŸ™ˆ

Definition at line 82 of file zdotc.f. β€” that's where the whole thing lives, iykyk πŸ“


🌸 complex*16 function zdotu (integer n, complex*16, dimension(*) zx, integer incx, complex*16, dimension(*) zy, integer incy) 🌸

πŸ’œ ZDOTU πŸ’œ

Purpose:

text !> !> ZDOTU forms the dot product of two complex vectors !> ZDOTU = X^T * Y !> !>

okay so ZDOTU forms the dot product of two complex vectors, and it's literally:

ZDOTU = X^T * Y

note it's X^T β€” the transpose β€” not the conjugate transpose. that's the whole vibe difference between this one and ZDOTC, and you're gonna want to remember that, bestie πŸ”₯

🌈 Parameters 🌈

  • N β€” INTEGER, and it's the number of elements in the input vector(s). the headcount 🫢
  • ZX β€” COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) ). first vector, main character energy πŸ‘‘
  • INCX β€” INTEGER. storage spacing between elements of ZX, same deal as always πŸ’…
  • ZY β€” COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) ). the second vector, showing up looking iconic πŸ¦‹
  • INCY β€” INTEGER. storage spacing between elements of ZY. yes it's the same explanation, no I'm not sorry, it's just consistent 😌

⭐ Author ⭐

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Further Details: πŸ“

!>
!>     jack dongarra, 3/11/78.
!>     modified 12/3/93, array(1) declarations changed to array(*)
!>

same pedigree, same 12/3/93 modification, same legend β€” jack dongarra fr fr πŸ™Œ

Definition at line 82 of file zdotu.f. β€” line 82 again, the universe has a sense of humor πŸ’€


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.

and that's the whole page!! πŸŽ€ every bit of it was auto-generated by Doxygen for LAPACK straight from the source code β€” shoutout to LAPACK, Version 3.12.0, dated dot(3) (the date on this one is just "dot(3)", which is honestly such a mood). go forth and dot-product, bestie πŸ’–βœ¨

πŸ“¦ where this page comes from