LAPACK  3.6.0
LAPACK: Linear Algebra PACKage
Collaboration diagram for double:

Functions

double precision function dasum (N, DX, INCX)
 DASUM More...
 
subroutine daxpy (N, DA, DX, INCX, DY, INCY)
 DAXPY More...
 
double precision function dcabs1 (Z)
 DCABS1 More...
 
subroutine dcopy (N, DX, INCX, DY, INCY)
 DCOPY More...
 
double precision function ddot (N, DX, INCX, DY, INCY)
 DDOT More...
 
double precision function dnrm2 (N, X, INCX)
 DNRM2 More...
 
subroutine drot (N, DX, INCX, DY, INCY, C, S)
 DROT More...
 
subroutine drotg (DA, DB, C, S)
 DROTG More...
 
subroutine drotm (N, DX, INCX, DY, INCY, DPARAM)
 DROTM More...
 
subroutine drotmg (DD1, DD2, DX1, DY1, DPARAM)
 DROTMG More...
 
subroutine dscal (N, DA, DX, INCX)
 DSCAL More...
 
double precision function dsdot (N, SX, INCX, SY, INCY)
 DSDOT More...
 
subroutine dswap (N, DX, INCX, DY, INCY)
 DSWAP More...
 
subroutine dtrsv (UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
 DTRSV More...
 
double precision function dzasum (N, ZX, INCX)
 DZASUM More...
 
double precision function dznrm2 (N, X, INCX)
 DZNRM2 More...
 

Detailed Description

This is the group of double LEVEL 1 BLAS routines.

Function Documentation

double precision function dasum ( integer  N,
double precision, dimension(*)  DX,
integer  INCX 
)

DASUM

Purpose:
    DASUM takes the sum of the absolute values.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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 constant times a vector plus a vector.
    uses unrolled loops for increments equal to one.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2015
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 one.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
double precision function dnrm2 ( integer  N,
double precision, dimension(*)  X,
integer  INCX 
)

DNRM2

Purpose:
 DNRM2 returns the euclidean norm of a vector via the function
 name, so that

    DNRM2 := sqrt( x'*x )
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
  -- This version written on 25-October-1982.
     Modified on 14-October-1993 to inline the call to DLASSQ.
     Sven Hammarling, Nag Ltd.
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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
subroutine drotg ( double precision  DA,
double precision  DB,
double precision  C,
double precision  S 
)

DROTG

Purpose:
    DROTG construct givens plane rotation.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 3/11/78.
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
[in]N
          N is INTEGER
         number of elements in input vector(s)
[in,out]DX
          DX is DOUBLE PRECISION array, dimension N
         double precision vector with N elements
[in]INCX
          INCX is INTEGER
         storage spacing between elements of DX
[in,out]DY
          DY is DOUBLE PRECISION array, dimension N
         double precision vector with N elements
[in]INCY
          INCY is INTEGER
         storage spacing between elements of DY
[in,out]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.
Date
November 2011
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.
Parameters
[in,out]DD1
          DD1 is DOUBLE PRECISION
[in,out]DD2
          DD2 is DOUBLE PRECISION
[in,out]DX1
          DX1 is DOUBLE PRECISION
[in]DY1
          DY1 is DOUBLE PRECISION
[in,out]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.
Date
November 2011
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 one.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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(*)
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
[in]N
          N is INTEGER
         number of elements in input vector(s)
[in]SX
          SX is REAL array, dimension(N)
         single precision vector with N elements
[in]INCX
          INCX is INTEGER
          storage spacing between elements of SX
[in]SY
          SY is REAL array, dimension(N)
         single precision vector with N elements
[in]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.
Date
November 2011
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)
subroutine dswap ( integer  N,
double precision, dimension(*)  DX,
integer  INCX,
double precision, dimension(*)  DY,
integer  INCY 
)

DSWAP

Purpose:
    interchanges two vectors.
    uses unrolled loops for increments equal one.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
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
[in]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.
[in]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.
[in]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.
[in]N
          N is INTEGER
           On entry, N specifies the order of the matrix A.
           N must be at least zero.
[in]A
          A is DOUBLE PRECISION array of 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.
[in]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 ).
[in,out]X
          X is DOUBLE PRECISION array of 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.
[in]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.
Date
November 2011
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 single precision result.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2015
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(*)
double precision function dznrm2 ( integer  N,
complex*16, dimension(*)  X,
integer  INCX 
)

DZNRM2

Purpose:
 DZNRM2 returns the euclidean norm of a vector via the function
 name, so that

    DZNRM2 := sqrt( x**H*x )
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
  -- This version written on 25-October-1982.
     Modified on 14-October-1993 to inline the call to ZLASSQ.
     Sven Hammarling, Nag Ltd.