double_blas_level1(3)

NAME
double_blas_level1

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
double precision function dnrm2 (N, X, INCX)
DNRM2
subroutine drot (N, DX, INCX, DY, INCY, C, S)
DROT
subroutine drotg (DA, DB, C, S)
DROTG
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
double precision function dznrm2 (N, X, INCX)
DZNRM2

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.

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.

Date:
    November 2017

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

Definition at line 73 of file dasum.f.

  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.

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.

Date:
    November 2017

Further Details:

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

Definition at line 91 of file daxpy.f.

  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.

Date:
    November 2017

Definition at line 49 of file dcabs1.f.

  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.

Date:
    November 2017

Further Details:

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

Definition at line 84 of file dcopy.f.

  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.

Date:
    November 2017

Further Details:

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

Definition at line 84 of file ddot.f.

  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 )

Parameters:
    N

              N is INTEGER
             number of elements in input vector(s)

    X

              X 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.

Date:
    November 2017

Further Details:

      -- This version written on 25-October-1982.
         Modified on 14-October-1993 to inline the call to DLASSQ.
         Sven Hammarling, Nag Ltd.

Definition at line 76 of file dnrm2.f.

  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.

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.

Date:
    November 2017

Further Details:

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

Definition at line 94 of file drot.f.

  subroutine drotg (double precision DA, double precision DB, double precision C, double precision S)

DROTG

Purpose:

        DROTG construct givens plane rotation.

Parameters:
    DA

              DA is DOUBLE PRECISION

    DB

              DB is DOUBLE PRECISION

    C

              C is DOUBLE PRECISION

    S

              S is DOUBLE PRECISION

Author:
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Date:
    November 2017

Further Details:

         jack dongarra, linpack, 3/11/78.

Definition at line 71 of file drotg.f.

  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.

Date:
    November 2017

Definition at line 98 of file drotm.f.

  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:
    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.

Date:
    November 2017

Definition at line 92 of file drotmg.f.

  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.

Date:
    November 2017

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

Definition at line 81 of file dscal.f.

  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

              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.

Date:
    December 2016

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 121 of file dsdot.f.

  subroutine dswap (integer N, double precision, dimension(*) DX, integer INCX, double precision, dimension(*) DY, integer INCY)

DSWAP

Purpose:

        DSWAP interchanges two vectors.
        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.

Date:
    November 2017

Further Details:

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

Definition at line 84 of file dswap.f.

  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.

Date:
    December 2016

Definition at line 145 of file dtrsv.f.

  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.

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.

Date:
    November 2017

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

Definition at line 74 of file dzasum.f.

  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 )

Parameters:
    N

              N is INTEGER
             number of elements in input vector(s)

    X

              X is COMPLEX*16 array, dimension (N)
             complex vector with N elements

    INCX

              INCX is INTEGER
             storage spacing between elements of X

Author:
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Date:
    November 2017

Further Details:

      -- This version written on 25-October-1982.
         Modified on 14-October-1993 to inline the call to ZLASSQ.
         Sven Hammarling, Nag Ltd.

Definition at line 77 of file dznrm2.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.