.TH "double" 3 "Wed Mar 8 2017" "Version 3.7.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME double \- .SS "Functions" .in +1c .ti -1c .RI "double precision function \fBdasum\fP (\fBN\fP, DX, INCX)" .br .RI "\fI\fBDASUM\fP \fP" .ti -1c .RI "subroutine \fBdaxpy\fP (\fBN\fP, DA, DX, INCX, DY, INCY)" .br .RI "\fI\fBDAXPY\fP \fP" .ti -1c .RI "double precision function \fBdcabs1\fP (Z)" .br .RI "\fI\fBDCABS1\fP \fP" .ti -1c .RI "subroutine \fBdcopy\fP (\fBN\fP, DX, INCX, DY, INCY)" .br .RI "\fI\fBDCOPY\fP \fP" .ti -1c .RI "double precision function \fBddot\fP (\fBN\fP, DX, INCX, DY, INCY)" .br .RI "\fI\fBDDOT\fP \fP" .ti -1c .RI "double precision function \fBdnrm2\fP (\fBN\fP, X, INCX)" .br .RI "\fI\fBDNRM2\fP \fP" .ti -1c .RI "subroutine \fBdrot\fP (\fBN\fP, DX, INCX, DY, INCY, C, S)" .br .RI "\fI\fBDROT\fP \fP" .ti -1c .RI "subroutine \fBdrotg\fP (DA, DB, C, S)" .br .RI "\fI\fBDROTG\fP \fP" .ti -1c .RI "subroutine \fBdrotm\fP (\fBN\fP, DX, INCX, DY, INCY, DPARAM)" .br .RI "\fI\fBDROTM\fP \fP" .ti -1c .RI "subroutine \fBdrotmg\fP (DD1, DD2, DX1, DY1, DPARAM)" .br .RI "\fI\fBDROTMG\fP \fP" .ti -1c .RI "subroutine \fBdscal\fP (\fBN\fP, DA, DX, INCX)" .br .RI "\fI\fBDSCAL\fP \fP" .ti -1c .RI "double precision function \fBdsdot\fP (\fBN\fP, SX, INCX, SY, INCY)" .br .RI "\fI\fBDSDOT\fP \fP" .ti -1c .RI "subroutine \fBdswap\fP (\fBN\fP, DX, INCX, DY, INCY)" .br .RI "\fI\fBDSWAP\fP \fP" .ti -1c .RI "subroutine \fBdtrsv\fP (UPLO, TRANS, DIAG, \fBN\fP, A, \fBLDA\fP, X, INCX)" .br .RI "\fI\fBDTRSV\fP \fP" .ti -1c .RI "double precision function \fBdzasum\fP (\fBN\fP, ZX, INCX)" .br .RI "\fI\fBDZASUM\fP \fP" .ti -1c .RI "double precision function \fBdznrm2\fP (\fBN\fP, X, INCX)" .br .RI "\fI\fBDZNRM2\fP \fP" .in -1c .SH "Detailed Description" .PP This is the group of double LEVEL 1 BLAS routines\&. .SH "Function Documentation" .PP .SS "double precision function dasum (integerN, double precision, dimension(*)DX, integerINCX)" .PP \fBDASUM\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DASUM takes the sum of the absolute values. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf 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(*) .fi .PP .RE .PP .SS "subroutine daxpy (integerN, double precisionDA, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY)" .PP \fBDAXPY\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DAXPY constant times a vector plus a vector. uses unrolled loops for increments equal to one. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "double precision function dcabs1 (complex*16Z)" .PP \fBDCABS1\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DCABS1 computes |Re(.)| + |Im(.)| of a double complex number .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP .SS "subroutine dcopy (integerN, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY)" .PP \fBDCOPY\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DCOPY copies a vector, x, to a vector, y. uses unrolled loops for increments equal to one. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "double precision function ddot (integerN, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY)" .PP \fBDDOT\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DDOT forms the dot product of two vectors. uses unrolled loops for increments equal to one. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "double precision function dnrm2 (integerN, double precision, dimension(*)X, integerINCX)" .PP \fBDNRM2\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DNRM2 returns the euclidean norm of a vector via the function name, so that DNRM2 := sqrt( x'*x ) .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf -- This version written on 25-October-1982. Modified on 14-October-1993 to inline the call to DLASSQ. Sven Hammarling, Nag Ltd. .fi .PP .RE .PP .SS "subroutine drot (integerN, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY, double precisionC, double precisionS)" .PP \fBDROT\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DROT applies a plane rotation. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "subroutine drotg (double precisionDA, double precisionDB, double precisionC, double precisionS)" .PP \fBDROTG\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DROTG construct givens plane rotation. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. .fi .PP .RE .PP .SS "subroutine drotm (integerN, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY, double precision, dimension(5)DPARAM)" .PP \fBDROTM\fP .PP \fBPurpose: \fP .RS 4 .PP .nf 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. .fi .PP .RE .PP \fBParameters:\fP .RS 4 \fIN\fP .PP .nf N is INTEGER number of elements in input vector(s) .fi .PP .br \fIDX\fP .PP .nf DX is DOUBLE PRECISION array, dimension N double precision vector with N elements .fi .PP .br \fIINCX\fP .PP .nf INCX is INTEGER storage spacing between elements of DX .fi .PP .br \fIDY\fP .PP .nf DY is DOUBLE PRECISION array, dimension N double precision vector with N elements .fi .PP .br \fIINCY\fP .PP .nf INCY is INTEGER storage spacing between elements of DY .fi .PP .br \fIDPARAM\fP .PP .nf DPARAM is DOUBLE PRECISION array, dimension 5 DPARAM(1)=DFLAG DPARAM(2)=DH11 DPARAM(3)=DH21 DPARAM(4)=DH12 DPARAM(5)=DH22 .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP .SS "subroutine drotmg (double precisionDD1, double precisionDD2, double precisionDX1, double precisionDY1, double precision, dimension(5)DPARAM)" .PP \fBDROTMG\fP .PP \fBPurpose: \fP .RS 4 .PP .nf 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. .fi .PP .RE .PP \fBParameters:\fP .RS 4 \fIDD1\fP .PP .nf DD1 is DOUBLE PRECISION .fi .PP .br \fIDD2\fP .PP .nf DD2 is DOUBLE PRECISION .fi .PP .br \fIDX1\fP .PP .nf DX1 is DOUBLE PRECISION .fi .PP .br \fIDY1\fP .PP .nf DY1 is DOUBLE PRECISION .fi .PP .br \fIDPARAM\fP .PP .nf DPARAM is DOUBLE PRECISION array, dimension 5 DPARAM(1)=DFLAG DPARAM(2)=DH11 DPARAM(3)=DH21 DPARAM(4)=DH12 DPARAM(5)=DH22 .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP .SS "subroutine dscal (integerN, double precisionDA, double precision, dimension(*)DX, integerINCX)" .PP \fBDSCAL\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DSCAL scales a vector by a constant. uses unrolled loops for increment equal to one. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf 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(*) .fi .PP .RE .PP .SS "double precision function dsdot (integerN, real, dimension(*)SX, integerINCX, real, dimension(*)SY, integerINCY)" .PP \fBDSDOT\fP .PP \fBPurpose: \fP .RS 4 .PP .nf 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. .fi .PP .RE .PP \fBParameters:\fP .RS 4 \fIN\fP .PP .nf N is INTEGER number of elements in input vector(s) .fi .PP .br \fISX\fP .PP .nf SX is REAL array, dimension(N) single precision vector with N elements .fi .PP .br \fIINCX\fP .PP .nf INCX is INTEGER storage spacing between elements of SX .fi .PP .br \fISY\fP .PP .nf SY is REAL array, dimension(N) single precision vector with N elements .fi .PP .br \fIINCY\fP .PP .nf INCY is INTEGER storage spacing between elements of SY .fi .PP .RE .PP \fBReturns:\fP .RS 4 DSDOT .PP .nf DSDOT is DOUBLE PRECISION DSDOT double precision dot product (zero if N.LE.0) .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf .fi .PP .RE .PP \fBReferences: \fP .RS 4 .PP .nf 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) .fi .PP .RE .PP .SS "subroutine dswap (integerN, double precision, dimension(*)DX, integerINCX, double precision, dimension(*)DY, integerINCY)" .PP \fBDSWAP\fP .PP \fBPurpose: \fP .RS 4 .PP .nf interchanges two vectors. uses unrolled loops for increments equal one. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, linpack, 3/11/78. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "subroutine dtrsv (characterUPLO, characterTRANS, characterDIAG, integerN, double precision, dimension(lda,*)A, integerLDA, double precision, dimension(*)X, integerINCX)" .PP \fBDTRSV\fP .PP \fBPurpose: \fP .RS 4 .PP .nf 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. .fi .PP .RE .PP \fBParameters:\fP .RS 4 \fIUPLO\fP .PP .nf 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. .fi .PP .br \fITRANS\fP .PP .nf 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. .fi .PP .br \fIDIAG\fP .PP .nf 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. .fi .PP .br \fIN\fP .PP .nf N is INTEGER On entry, N specifies the order of the matrix A. N must be at least zero. .fi .PP .br \fIA\fP .PP .nf 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. .fi .PP .br \fILDA\fP .PP .nf 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 ). .fi .PP .br \fIX\fP .PP .nf 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. .fi .PP .br \fIINCX\fP .PP .nf 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. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP .SS "double precision function dzasum (integerN, complex*16, dimension(*)ZX, integerINCX)" .PP \fBDZASUM\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DZASUM takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and returns a single precision result. .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf jack dongarra, 3/11/78. modified 3/93 to return if incx .le. 0. modified 12/3/93, array(1) declarations changed to array(*) .fi .PP .RE .PP .SS "double precision function dznrm2 (integerN, complex*16, dimension(*)X, integerINCX)" .PP \fBDZNRM2\fP .PP \fBPurpose: \fP .RS 4 .PP .nf DZNRM2 returns the euclidean norm of a vector via the function name, so that DZNRM2 := sqrt( x**H*x ) .fi .PP .RE .PP \fBAuthor:\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBDate:\fP .RS 4 December 2016 .RE .PP \fBFurther Details: \fP .RS 4 .PP .nf -- This version written on 25-October-1982. Modified on 14-October-1993 to inline the call to ZLASSQ. Sven Hammarling, Nag Ltd. .fi .PP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.