double_blas_level1(3)

๐Ÿ“ฆ
version 3.11.0 ยท 2 versions
, in debian bookworm

๐Ÿ’– 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) โ€” DASUM
  • subroutine daxpy (N, DA, DX, INCX, DY, INCY) โ€” DAXPY
  • double precision function dcabs1 (Z) โ€” DCABS1
  • subroutine dcopy (N, DX, INCX, DY, INCY) โ€” DCOPY
  • double precision function ddot (N, DX, INCX, DY, INCY) โ€” DDOT
  • subroutine drot (N, DX, INCX, DY, INCY, C, S) โ€” DROT
  • subroutine drotm (N, DX, INCX, DY, INCY, DPARAM) โ€” DROTM
  • subroutine drotmg (DD1, DD2, DX1, DY1, DPARAM) โ€” DROTMG
  • subroutine dscal (N, DA, DX, INCX) โ€” DSCAL
  • double precision function dsdot (N, SX, INCX, SY, INCY) โ€” DSDOT
  • subroutine dswap (N, DX, INCX, DY, INCY) โ€” DSWAP
  • subroutine dtrsv (UPLO, TRANS, DIAG, N, A, LDA, X, INCX) โ€” DTRSV
  • double 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: those GAMSQ / RGAMSQ values may be INEXACT and that's fine, they're only there to test the size of DD1 and DD2 ๐Ÿ™ˆ โ€” all the real scaling happens with GAM. 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 โ€” N is INTEGER; number of elements in input vector(s)
  • SX โ€” SX is REAL array, dimension(N); single precision vector with N elements
  • INCX โ€” INCX is INTEGER; storage spacing between elements of SX
  • SY โ€” SY is REAL array, dimension(N); single precision vector with N elements
  • INCY โ€” INCY is INTEGER; storage spacing between elements of SY

๐Ÿฆ‹ Returns ๐Ÿฆ‹

  • DSDOT โ€” DSDOT is DOUBLE PRECISION; 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 โœจ

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

๐Ÿ’ซ 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 โ€” 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(*)

๐ŸŒŸ 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 โ€” UPLO is CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows:
    • UPLO = 'U' or 'u' โ€” A is an upper triangular matrix.
    • UPLO = 'L' or 'l' โ€” A is a lower triangular matrix.
  • TRANS โ€” TRANS is CHARACTER*1. On entry, TRANS specifies 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 โ€” DIAG is CHARACTER*1. On entry, DIAG specifies whether or not A is unit triangular as follows:
    • DIAG = 'U' or 'u' โ€” A is assumed to be unit triangular.
    • DIAG = 'N' or 'n' โ€” A is not assumed to be unit triangular.
  • N โ€” N is INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero.
  • A โ€” A is DOUBLE PRECISION array, dimension ( LDA, N ). Before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular matrix and the strictly lower triangular part of A is not referenced. Before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular matrix and the strictly upper triangular part of A is not referenced. Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity.
  • LDA โ€” LDA is INTEGER. On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ).
  • X โ€” X is DOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element right-hand side vector b. On exit, X is overwritten with the solution vector x.
  • INCX โ€” INCX is INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must 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 โ€” N is INTEGER; number of elements in input vector(s)
  • ZX โ€” ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
  • INCX โ€” INCX is INTEGER; storage spacing between elements of ZX

๐Ÿ‘‘ 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