double_blas_level1(3)
๐ double_blas_level1(3) โ LAPACK ๐
okay bestie, sit DOWN because this is the double_blas_level1 page from LAPACK and it's lowkey iconic โจ. It's a whole group of double-precision LEVEL 1 BLAS routines, and yes there are a LOT of them, so buckle up ๐
๐ธ NAME ๐ธ
double_blas_level1 โ double ๐
โจ SYNOPSIS โจ
๐ฆ Functions ๐ฆ
double precision function dasum (N, DX, INCX)โ DASUMsubroutine daxpy (N, DA, DX, INCX, DY, INCY)โ DAXPYdouble precision function dcabs1 (Z)โ DCABS1subroutine dcopy (N, DX, INCX, DY, INCY)โ DCOPYdouble precision function ddot (N, DX, INCX, DY, INCY)โ DDOTsubroutine drot (N, DX, INCX, DY, INCY, C, S)โ DROTsubroutine drotm (N, DX, INCX, DY, INCY, DPARAM)โ DROTMsubroutine drotmg (DD1, DD2, DX1, DY1, DPARAM)โ DROTMGsubroutine dscal (N, DA, DX, INCX)โ DSCALdouble precision function dsdot (N, SX, INCX, SY, INCY)โ DSDOTsubroutine dswap (N, DX, INCX, DY, INCY)โ DSWAPsubroutine dtrsv (UPLO, TRANS, DIAG, N, A, LDA, X, INCX)โ DTRSVdouble precision function dzasum (N, ZX, INCX)โ DZASUM
๐ Detailed Description ๐
This is the group of double LEVEL 1 BLAS routines. periodt. ๐ซถ
๐ Function Documentation ๐
๐ double precision function dasum (integer N, double precision, dimension(*) DX, integer INCX) ๐
DASUM
Purpose:
DASUM takes the sum of the absolute values. that's it, that's the whole vibe ๐งฎโจ
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
jack dongarra, linpack, 3/11/78.
modified 3/93 to return if incx .le. 0.
modified 12/3/93, array(1) declarations changed to array(*)
๐ subroutine daxpy (integer N, double precision DA, double precision, dimension() DX, integer INCX, double precision, dimension() DY, integer INCY) ๐
DAXPY
Purpose:
DAXPY does a constant times a vector plus a vector ๐ฅ and it uses unrolled loops for increments equal to one (speed demon behavior fr fr).
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DA
DA is DOUBLE PRECISION โ On entry, DA specifies the scalar alpha.
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
DY
DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
INCY
INCY is 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(*)
๐ double precision function dcabs1 (complex*16 Z) ๐
DCABS1
Purpose:
DCABS1 computes |Re(.)| + |Im(.)| of a double complex number ๐ซ
Parameters
Z
Z is COMPLEX*16
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
๐ subroutine dcopy (integer N, double precision, dimension() DX, integer INCX, double precision, dimension() DY, integer INCY) ๐
DCOPY
Purpose:
DCOPY copies a vector, x, to a vector, y ๐ฆ uses unrolled loops for increments equal to 1.
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
DY
DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
INCY
INCY is 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(*)
๐ 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 โจ uses unrolled loops for increments equal to one.
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
DY
DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
INCY
INCY is 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(*)
๐ subroutine drot (integer N, double precision, dimension() DX, integer INCX, double precision, dimension() DY, integer INCY, double precision C, double precision S) ๐
DROT
Purpose:
DROT applies a plane rotation ๐ iconic.
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
DY
DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
INCY
INCY is INTEGER โ storage spacing between elements of DY
C
C is DOUBLE PRECISION
S
S is DOUBLE PRECISION
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(*)
๐ subroutine drotm (integer N, double precision, dimension() DX, integer INCX, double precision, dimension() DY, integer INCY, double precision, dimension(5) DPARAM) ๐
DROTM
Purpose:
APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
(DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN
(DY**T)
DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE
LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY.
WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0
(DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0)
H=( ) ( ) ( ) ( )
(DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0).
SEE DROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
DY
DY is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
INCY
INCY is INTEGER โ storage spacing between elements of DY
DPARAM
DPARAM is DOUBLE PRECISION array, dimension (5)
DPARAM(1)=DFLAG
DPARAM(2)=DH11
DPARAM(3)=DH21
DPARAM(4)=DH12
DPARAM(5)=DH22
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
๐ subroutine drotmg (double precision DD1, double precision DD2, double precision DX1, double precision DY1, double precision, dimension(5) DPARAM) ๐
DROTMG
Purpose:
CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS THE SECOND COMPONENT OF THE 2-VECTOR (DSQRT(DD1)DX1,DSQRT(DD2)> DY2)**T. ๐ WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0
(DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0)
H=( ) ( ) ( ) ( )
(DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0).
LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22
RESPECTIVELY. (VALUES OF 1.D0, -1.D0, OR 0.D0 IMPLIED BY THE
VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.)
THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
lowkey important note bestie: thoseGAMSQ/RGAMSQvalues may be INEXACT and that's fine, they're only there to test the size ofDD1andDD2๐ โ all the real scaling happens withGAM. no cap.
Parameters
DD1
DD1 is DOUBLE PRECISION
DD2
DD2 is DOUBLE PRECISION
DX1
DX1 is DOUBLE PRECISION
DY1
DY1 is DOUBLE PRECISION
DPARAM
DPARAM is DOUBLE PRECISION array, dimension (5)
DPARAM(1)=DFLAG
DPARAM(2)=DH11
DPARAM(3)=DH21
DPARAM(4)=DH12
DPARAM(5)=DH22
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
๐ subroutine dscal (integer N, double precision DA, double precision, dimension(*) DX, integer INCX) ๐
DSCAL
Purpose:
DSCAL scales a vector by a constant ๐ uses unrolled loops for increment equal to 1.
Parameters
N
N is INTEGER โ number of elements in input vector(s)
DA
DA is DOUBLE PRECISION โ On entry, DA specifies the scalar alpha.
DX
DX is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
INCX
INCX is INTEGER โ storage spacing between elements of DX
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
...and the previous function's Further Details wrapped with:
jack dongarra, linpack, 3/11/78.
modified 3/93 to return if incx .le. 0.
modified 12/3/93, array(1) declarations changed to array(*)
๐ dsdot ๐
double precision function dsdot (integer N, real, dimension(*) SX, integer
INCX, real, dimension(*) SY, integer INCY)
DSDOT
โจ Purpose โจ
Okay so DSDOT computes the inner product of two vectors with extended precision accumulation and result. It 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โNisINTEGER; number of elements in input vector(s)SXโSXisREALarray, dimension(N); single precision vector withNelementsINCXโINCXisINTEGER; storage spacing between elements ofSXSYโSYisREALarray, dimension(N); single precision vector withNelementsINCYโINCYisINTEGER; storage spacing between elements ofSY
๐ฆ Returns ๐ฆ
DSDOTโDSDOTisDOUBLE PRECISION;DSDOTdouble precision dot product (zero ifN.LE.0)
๐ Author ๐
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
โจ Further Details โจ
(nothing extra here, bestie โ just the references below)
๐ 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 WRITTEN890831โ Modified array declarations. (WRB)890831โ REVISION DATE from Version 3.2891214โ 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)
๐ซ dswap ๐ซ
subroutine dswap (integer N, double precision, dimension(*) DX, integer
INCX, double precision, dimension(*) DY, integer INCY)
DSWAP
โจ Purpose โจ
DSWAP interchanges two vectors. It uses unrolled loops for increments equal to 1.
๐ Parameters ๐
NโNisINTEGER; number of elements in input vector(s)DXโDXisDOUBLE PRECISIONarray, dimension (1 + ( N - 1 )*abs( INCX ))INCXโINCXisINTEGER; storage spacing between elements ofDXDYโDYisDOUBLE PRECISIONarray, dimension (1 + ( N - 1 )*abs( INCY ))INCYโINCYisINTEGER; storage spacing between elements ofDY
๐ 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(*)
๐ dtrsv ๐
subroutine dtrsv (character UPLO, character TRANS, character DIAG, integer
N, double precision, dimension(lda,*) A, integer LDA, double precision,
dimension(*) X, integer INCX)
DTRSV
โจ Purpose โจ
DTRSV solves one of the systems of equations
A*x = b, or A**T*x = b,
where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix.
No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.
๐ Parameters ๐
UPLOโUPLOisCHARACTER*1. On entry,UPLOspecifies whether the matrix is an upper or lower triangular matrix as follows:UPLO = 'U' or 'u'โAis an upper triangular matrix.UPLO = 'L' or 'l'โAis a lower triangular matrix.
TRANSโTRANSisCHARACTER*1. On entry,TRANSspecifies the equations to be solved as follows:TRANS = 'N' or 'n'โA*x = b.TRANS = 'T' or 't'โA**T*x = b.TRANS = 'C' or 'c'โA**T*x = b.
DIAGโDIAGisCHARACTER*1. On entry,DIAGspecifies whether or notAis unit triangular as follows:DIAG = 'U' or 'u'โAis assumed to be unit triangular.DIAG = 'N' or 'n'โAis not assumed to be unit triangular.
NโNisINTEGER. On entry,Nspecifies the order of the matrixA.Nmust be at least zero.AโAisDOUBLE PRECISIONarray, dimension (LDA,N). Before entry withUPLO = 'U' or 'u', the leadingnbynupper triangular part of the arrayAmust contain the upper triangular matrix and the strictly lower triangular part ofAis not referenced. Before entry withUPLO = 'L' or 'l', the leadingnbynlower triangular part of the arrayAmust contain the lower triangular matrix and the strictly upper triangular part ofAis not referenced. Note that whenDIAG = 'U' or 'u', the diagonal elements ofAare not referenced either, but are assumed to be unity.LDAโLDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ).XโXisDOUBLE PRECISIONarray, dimension at least (1 + ( n - 1 )*abs( INCX )). Before entry, the incremented arrayXmust contain thenelement right-hand side vectorb. On exit,Xis overwritten with the solution vectorx.INCXโINCXisINTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero.
Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs.
๐ Author ๐
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
๐ฆ dzasum ๐ฆ
double precision function dzasum (integer N, complex*16, dimension(*) ZX,
integer INCX)
DZASUM
โจ Purpose โจ
DZASUM takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and returns a double precision result.
๐ 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
๐ 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(*)
๐ Author ๐
Generated automatically by Doxygen for LAPACK from the source code.
And that's the vibe, bestie! This page is from LAPACK version 3.11.0, generated on Sun Nov 27 2022. Stay iconic! ๐ โจ
๐ฆ 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