table of contents
double_blas_level1(3) | LAPACK | double_blas_level1(3) |
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.
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 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 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 constant times a vector plus a vector.
uses unrolled loops for increments equal to one.
Parameters
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 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 is COMPLEX*16
Author
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 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 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 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 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.
Parameters
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 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 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 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.
Parameters
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 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 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 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(*)
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 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 is DOUBLE PRECISION
DSDOT double precision dot product (zero if N.LE.0)
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
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:
DSWAP interchanges two vectors.
uses unrolled loops for increments equal to 1.
Parameters
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 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 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 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 California Berkeley
Univ. of Colorado Denver
NAG Ltd.
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 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 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.
Sun Nov 27 2022 | Version 3.11.0 |