complex16_blas_level1(3)
π complex16_blas_level1 β complex16 π
okay bestie, gather round, because this is the page: complex16_blas_level1, aka the complex16 level 1 BLAS squad. if you're here, you're doing vector math and you want it to be fast and correct, and honestly? iconic behavior. π
β¨ SYNOPSIS β¨
π¦ Functions
subroutine zaxpy (N, ZA, ZX, INCX, ZY, INCY)β ZAXPYsubroutine zcopy (N, ZX, INCX, ZY, INCY)β ZCOPYcomplex *16 function zdotc (N, ZX, INCX, ZY, INCY)β ZDOTCcomplex *16 function zdotu (N, ZX, INCX, ZY, INCY)β ZDOTUsubroutine zdrot (N, ZX, INCX, ZY, INCY, C, S)β ZDROTsubroutine zdscal (N, DA, ZX, INCX)β ZDSCALsubroutine zscal (N, ZA, ZX, INCX)β ZSCALsubroutine zswap (N, ZX, INCX, ZY, INCY)β ZSWAP
πΈ Detailed Description πΈ
This is the group of complex16 LEVEL 1 BLAS routines. eight little legends, one big vibe. no cap. π
π Function Documentation π
π§ subroutine zaxpy (integer N, complex*16 ZA, complex*16, dimension() ZX, integer INCX, complex16, dimension(*) ZY, integer INCY)
ZAXPY
Purpose:
ZAXPY constant times a vector plus a vector.
like, y = a*x + y energy. it's giving "do the math, slay, move on." β
Parameters
NβNisINTEGER. number of elements in input vector(s). the count, the headcount, the how-many-besties. πZAβZAisCOMPLEX*16. On entry,ZAspecifies the scalar alpha. (yes bestie, that alpha.)ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ). πINCXβINCXisINTEGER. storage spacing between elements ofZX. the stride, the skip, the walk-pattern. πΆZYβZYisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCY ) ). πINCYβINCYisINTEGER. storage spacing between elements ofZY.
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(*)
π¦ subroutine zcopy (integer N, complex*16, dimension() ZX, integer INCX, complex16, dimension(*) ZY, integer INCY)
ZCOPY
Purpose:
ZCOPY copies a vector, x, to a vector, y.
copy-paste but make it linear algebra. no clipboard needed, bestie. πβ¨
Parameters
NβNisINTEGER. number of elements in input vector(s).ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.ZYβZYisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCY ) ).INCYβINCYisINTEGER. storage spacing between elements ofZY.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details:
jack dongarra, linpack, 4/11/78.
modified 12/3/93, array(1) declarations changed to array(*)
π complex*16 function zdotc (integer N, complex*16, dimension() ZX, integer INCX, complex16, dimension(*) ZY, integer INCY)
ZDOTC
Purpose:
ZDOTC forms the dot product of two complex vectors
ZDOTC = X^H * Y
note the H bestie β that's the conjugate transpose. she's that girl. π
Parameters
NβNisINTEGER. number of elements in input vector(s).ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.ZYβZYisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCY ) ).INCYβINCYisINTEGER. storage spacing between elements ofZY.
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(*)
π complex*16 function zdotu (integer N, complex*16, dimension() ZX, integer INCX, complex16, dimension(*) ZY, integer INCY)
ZDOTU
Purpose:
ZDOTU forms the dot product of two complex vectors
ZDOTU = X^T * Y
the un-conjugated sibling. T, not H. don't mix them up or your math gets weird. π
Parameters
NβNisINTEGER. number of elements in input vector(s).ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.ZYβZYisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCY ) ).INCYβINCYisINTEGER. storage spacing between elements ofZY.
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(*)
π subroutine zdrot (integer N, complex*16, dimension( * ) ZX, integer INCX, complex*16, dimension( * ) ZY, integer INCY, double precision C, double precision S)
ZDROT
Purpose:
Applies a plane rotation, where the cos and sin (c and s) are real
and the vectors cx and cy are complex.
jack dongarra, linpack, 3/11/78.
spinning those complex vectors with a real cos and real sin. rotational main character energy. π
Parameters
NβNisINTEGER. On entry,Nspecifies the order of the vectorscxandcy.Nmust be at least zero.ZXβZXisCOMPLEX*16array, dimension at least( 1 + ( N - 1 )*abs( INCX ) ). Before entry, the incremented arrayZXmust contain the n element vectorcx. On exit,ZXis overwritten by the updated vectorcx.INCXβINCXisINTEGER. On entry,INCXspecifies the increment for the elements ofZX.INCXmust not be zero.ZYβZYisCOMPLEX*16array, dimension at least( 1 + ( N - 1 )*abs( INCY ) ). Before entry, the incremented arrayZYmust contain the n element vectorcy. On exit,ZYis overwritten by the updated vectorcy.INCYβINCYisINTEGER. On entry,INCYspecifies the increment for the elements ofZY.INCYmust not be zero.CβCisDOUBLE PRECISION. On entry,Cspecifies the cosine, cos.SβSisDOUBLE PRECISION. On entry,Sspecifies the sine, sin.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π subroutine zdscal (integer N, double precision DA, complex*16, dimension(*) ZX, integer INCX)
ZDSCAL
Purpose:
ZDSCAL scales a vector by a constant.
real constant, complex vector. it's giving mixed-marriage but make it math. π«Ά
Parameters
NβNisINTEGER. number of elements in input vector(s).DAβDAisDOUBLE PRECISION. On entry,DAspecifies the scalar alpha.ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details:
jack dongarra, 3/11/78.
modified 3/93 to return if incx .le. 0.
modified 12/3/93, array(1) declarations changed to array(*)
π subroutine zscal (integer N, complex*16 ZA, complex*16, dimension(*) ZX, integer INCX)
ZSCAL
Purpose:
ZSCAL scales a vector by a constant.
same vibe as ZDSCAL but the constant is complex this time. glow-up. β¨
Parameters
NβNisINTEGER. number of elements in input vector(s).ZAβZAisCOMPLEX*16. On entry,ZAspecifies the scalar alpha.ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details:
jack dongarra, 3/11/78.
modified 3/93 to return if incx .le. 0.
modified 12/3/93, array(1) declarations changed to array(*)
π₯ subroutine zswap (integer N, complex*16, dimension() ZX, integer INCX, complex16, dimension(*) ZY, integer INCY)
ZSWAP
Purpose:
ZSWAP interchanges two vectors.
trading places, but the vectors are the ones swapping. no train involved. ππ«
Parameters
NβNisINTEGER. number of elements in input vector(s).ZXβZXisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCX ) ).INCXβINCXisINTEGER. storage spacing between elements ofZX.ZYβZYisCOMPLEX*16array, dimension( 1 + ( N - 1 )*abs( INCY ) ).INCYβINCYisINTEGER. storage spacing between elements ofZY.
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(*)
π Author π
Generated automatically by Doxygen for LAPACK from the source code. the bots did this one, bestie. π€β¨
okay and that's the whole page, no skips, no skims. this was LAPACK Version 3.11.0, dated Sun Nov 27 2022, and you read it in full which means you are lowkey a scholar now. go forth and multiply (vectors). periodt. π
ππΈ
π¦ where this page comes from
- debian bookworm: liblapack-doc 3.11.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms