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

Functions

subroutine zaxpy (N, ZA, ZX, INCX, ZY, INCY)
 ZAXPY More...
 
subroutine zcopy (N, ZX, INCX, ZY, INCY)
 ZCOPY More...
 
complex *16 function zdotc (N, ZX, INCX, ZY, INCY)
 ZDOTC More...
 
complex *16 function zdotu (N, ZX, INCX, ZY, INCY)
 ZDOTU More...
 
subroutine zdrot (N, CX, INCX, CY, INCY, C, S)
 ZDROT More...
 
subroutine zdscal (N, DA, ZX, INCX)
 ZDSCAL More...
 
subroutine zrotg (CA, CB, C, S)
 ZROTG More...
 
subroutine zscal (N, ZA, ZX, INCX)
 ZSCAL More...
 
subroutine zswap (N, ZX, INCX, ZY, INCY)
 ZSWAP More...
 

Detailed Description

This is the group of complex16 LEVEL 1 BLAS routines.

Function Documentation

subroutine zaxpy ( integer  N,
complex*16  ZA,
complex*16, dimension(*)  ZX,
integer  INCX,
complex*16, dimension(*)  ZY,
integer  INCY 
)

ZAXPY

Purpose:
    ZAXPY constant times a vector plus a vector.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 53 of file zaxpy.f.

53 *
54 * -- Reference BLAS level1 routine (version 3.4.0) --
55 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
56 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
57 * November 2011
58 *
59 * .. Scalar Arguments ..
60  COMPLEX*16 za
61  INTEGER incx,incy,n
62 * ..
63 * .. Array Arguments ..
64  COMPLEX*16 zx(*),zy(*)
65 * ..
66 *
67 * =====================================================================
68 *
69 * .. Local Scalars ..
70  INTEGER i,ix,iy
71 * ..
72 * .. External Functions ..
73  DOUBLE PRECISION dcabs1
74  EXTERNAL dcabs1
75 * ..
76  IF (n.LE.0) RETURN
77  IF (dcabs1(za).EQ.0.0d0) RETURN
78  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
79 *
80 * code for both increments equal to 1
81 *
82  DO i = 1,n
83  zy(i) = zy(i) + za*zx(i)
84  END DO
85  ELSE
86 *
87 * code for unequal increments or equal increments
88 * not equal to 1
89 *
90  ix = 1
91  iy = 1
92  IF (incx.LT.0) ix = (-n+1)*incx + 1
93  IF (incy.LT.0) iy = (-n+1)*incy + 1
94  DO i = 1,n
95  zy(iy) = zy(iy) + za*zx(ix)
96  ix = ix + incx
97  iy = iy + incy
98  END DO
99  END IF
100 *
101  RETURN
double precision function dcabs1(Z)
DCABS1
Definition: dcabs1.f:41
subroutine zcopy ( integer  N,
complex*16, dimension(*)  ZX,
integer  INCX,
complex*16, dimension(*)  ZY,
integer  INCY 
)

ZCOPY

Purpose:
    ZCOPY copies a vector, x, to a vector, y.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 4/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 52 of file zcopy.f.

52 *
53 * -- Reference BLAS level1 routine (version 3.4.0) --
54 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
55 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
56 * November 2011
57 *
58 * .. Scalar Arguments ..
59  INTEGER incx,incy,n
60 * ..
61 * .. Array Arguments ..
62  COMPLEX*16 zx(*),zy(*)
63 * ..
64 *
65 * =====================================================================
66 *
67 * .. Local Scalars ..
68  INTEGER i,ix,iy
69 * ..
70  IF (n.LE.0) RETURN
71  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
72 *
73 * code for both increments equal to 1
74 *
75  DO i = 1,n
76  zy(i) = zx(i)
77  END DO
78  ELSE
79 *
80 * code for unequal increments or equal increments
81 * not equal to 1
82 *
83  ix = 1
84  iy = 1
85  IF (incx.LT.0) ix = (-n+1)*incx + 1
86  IF (incy.LT.0) iy = (-n+1)*incy + 1
87  DO i = 1,n
88  zy(iy) = zx(ix)
89  ix = ix + incx
90  iy = iy + incy
91  END DO
92  END IF
93  RETURN
complex*16 function zdotc ( integer  N,
complex*16, dimension(*)  ZX,
integer  INCX,
complex*16, dimension(*)  ZY,
integer  INCY 
)

ZDOTC

Purpose:
 ZDOTC forms the dot product of two complex vectors
      ZDOTC = X^H * Y
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 12/3/93, array(1) declarations changed to array(*)

Definition at line 54 of file zdotc.f.

54 *
55 * -- Reference BLAS level1 routine (version 3.6.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * November 2015
59 *
60 * .. Scalar Arguments ..
61  INTEGER incx,incy,n
62 * ..
63 * .. Array Arguments ..
64  COMPLEX*16 zx(*),zy(*)
65 * ..
66 *
67 * =====================================================================
68 *
69 * .. Local Scalars ..
70  COMPLEX*16 ztemp
71  INTEGER i,ix,iy
72 * ..
73 * .. Intrinsic Functions ..
74  INTRINSIC dconjg
75 * ..
76  ztemp = (0.0d0,0.0d0)
77  zdotc = (0.0d0,0.0d0)
78  IF (n.LE.0) RETURN
79  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
80 *
81 * code for both increments equal to 1
82 *
83  DO i = 1,n
84  ztemp = ztemp + dconjg(zx(i))*zy(i)
85  END DO
86  ELSE
87 *
88 * code for unequal increments or equal increments
89 * not equal to 1
90 *
91  ix = 1
92  iy = 1
93  IF (incx.LT.0) ix = (-n+1)*incx + 1
94  IF (incy.LT.0) iy = (-n+1)*incy + 1
95  DO i = 1,n
96  ztemp = ztemp + dconjg(zx(ix))*zy(iy)
97  ix = ix + incx
98  iy = iy + incy
99  END DO
100  END IF
101  zdotc = ztemp
102  RETURN
complex *16 function zdotc(N, ZX, INCX, ZY, INCY)
ZDOTC
Definition: zdotc.f:54

Here is the caller graph for this function:

complex*16 function zdotu ( integer  N,
complex*16, dimension(*)  ZX,
integer  INCX,
complex*16, dimension(*)  ZY,
integer  INCY 
)

ZDOTU

Purpose:
 ZDOTU forms the dot product of two complex vectors
      ZDOTU = X^T * Y
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 12/3/93, array(1) declarations changed to array(*)

Definition at line 54 of file zdotu.f.

54 *
55 * -- Reference BLAS level1 routine (version 3.6.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * November 2015
59 *
60 * .. Scalar Arguments ..
61  INTEGER incx,incy,n
62 * ..
63 * .. Array Arguments ..
64  COMPLEX*16 zx(*),zy(*)
65 * ..
66 *
67 * =====================================================================
68 *
69 * .. Local Scalars ..
70  COMPLEX*16 ztemp
71  INTEGER i,ix,iy
72 * ..
73  ztemp = (0.0d0,0.0d0)
74  zdotu = (0.0d0,0.0d0)
75  IF (n.LE.0) RETURN
76  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
77 *
78 * code for both increments equal to 1
79 *
80  DO i = 1,n
81  ztemp = ztemp + zx(i)*zy(i)
82  END DO
83  ELSE
84 *
85 * code for unequal increments or equal increments
86 * not equal to 1
87 *
88  ix = 1
89  iy = 1
90  IF (incx.LT.0) ix = (-n+1)*incx + 1
91  IF (incy.LT.0) iy = (-n+1)*incy + 1
92  DO i = 1,n
93  ztemp = ztemp + zx(ix)*zy(iy)
94  ix = ix + incx
95  iy = iy + incy
96  END DO
97  END IF
98  zdotu = ztemp
99  RETURN
complex *16 function zdotu(N, ZX, INCX, ZY, INCY)
ZDOTU
Definition: zdotu.f:54

Here is the caller graph for this function:

subroutine zdrot ( integer  N,
complex*16, dimension( * )  CX,
integer  INCX,
complex*16, dimension( * )  CY,
integer  INCY,
double precision  C,
double precision  S 
)

ZDROT

Purpose:
 Applies a plane rotation, where the cos and sin (c and s) are real
 and the vectors cx and cy are complex.
 jack dongarra, linpack, 3/11/78.
Parameters
[in]N
          N is INTEGER
           On entry, N specifies the order of the vectors cx and cy.
           N must be at least zero.
[in,out]CX
          CX is COMPLEX*16 array, dimension at least
           ( 1 + ( N - 1 )*abs( INCX ) ).
           Before entry, the incremented array CX must contain the n
           element vector cx. On exit, CX is overwritten by the updated
           vector cx.
[in]INCX
          INCX is INTEGER
           On entry, INCX specifies the increment for the elements of
           CX. INCX must not be zero.
[in,out]CY
          CY is COMPLEX*16 array, dimension at least
           ( 1 + ( N - 1 )*abs( INCY ) ).
           Before entry, the incremented array CY must contain the n
           element vector cy. On exit, CY is overwritten by the updated
           vector cy.
[in]INCY
          INCY is INTEGER
           On entry, INCY specifies the increment for the elements of
           CY. INCY must not be zero.
[in]C
          C is DOUBLE PRECISION
           On entry, C specifies the cosine, cos.
[in]S
          S is DOUBLE PRECISION
           On entry, S specifies the sine, sin.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011

Definition at line 100 of file zdrot.f.

100 *
101 * -- Reference BLAS level1 routine (version 3.4.0) --
102 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
103 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
104 * November 2011
105 *
106 * .. Scalar Arguments ..
107  INTEGER incx, incy, n
108  DOUBLE PRECISION c, s
109 * ..
110 * .. Array Arguments ..
111  COMPLEX*16 cx( * ), cy( * )
112 * ..
113 *
114 * =====================================================================
115 *
116 * .. Local Scalars ..
117  INTEGER i, ix, iy
118  COMPLEX*16 ctemp
119 * ..
120 * .. Executable Statements ..
121 *
122  IF( n.LE.0 )
123  $ RETURN
124  IF( incx.EQ.1 .AND. incy.EQ.1 ) THEN
125 *
126 * code for both increments equal to 1
127 *
128  DO i = 1, n
129  ctemp = c*cx( i ) + s*cy( i )
130  cy( i ) = c*cy( i ) - s*cx( i )
131  cx( i ) = ctemp
132  END DO
133  ELSE
134 *
135 * code for unequal increments or equal increments not equal
136 * to 1
137 *
138  ix = 1
139  iy = 1
140  IF( incx.LT.0 )
141  $ ix = ( -n+1 )*incx + 1
142  IF( incy.LT.0 )
143  $ iy = ( -n+1 )*incy + 1
144  DO i = 1, n
145  ctemp = c*cx( ix ) + s*cy( iy )
146  cy( iy ) = c*cy( iy ) - s*cx( ix )
147  cx( ix ) = ctemp
148  ix = ix + incx
149  iy = iy + incy
150  END DO
151  END IF
152  RETURN

Here is the caller graph for this function:

subroutine zdscal ( integer  N,
double precision  DA,
complex*16, dimension(*)  ZX,
integer  INCX 
)

ZDSCAL

Purpose:
    ZDSCAL scales a vector by a constant.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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 54 of file zdscal.f.

54 *
55 * -- Reference BLAS level1 routine (version 3.4.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * November 2011
59 *
60 * .. Scalar Arguments ..
61  DOUBLE PRECISION da
62  INTEGER incx,n
63 * ..
64 * .. Array Arguments ..
65  COMPLEX*16 zx(*)
66 * ..
67 *
68 * =====================================================================
69 *
70 * .. Local Scalars ..
71  INTEGER i,nincx
72 * ..
73 * .. Intrinsic Functions ..
74  INTRINSIC dcmplx
75 * ..
76  IF (n.LE.0 .OR. incx.LE.0) RETURN
77  IF (incx.EQ.1) THEN
78 *
79 * code for increment equal to 1
80 *
81  DO i = 1,n
82  zx(i) = dcmplx(da,0.0d0)*zx(i)
83  END DO
84  ELSE
85 *
86 * code for increment not equal to 1
87 *
88  nincx = n*incx
89  DO i = 1,nincx,incx
90  zx(i) = dcmplx(da,0.0d0)*zx(i)
91  END DO
92  END IF
93  RETURN
subroutine zrotg ( complex*16  CA,
complex*16  CB,
double precision  C,
complex*16  S 
)

ZROTG

Purpose:
    ZROTG determines a double complex Givens rotation.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011

Definition at line 41 of file zrotg.f.

41 *
42 * -- Reference BLAS level1 routine (version 3.4.0) --
43 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
44 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
45 * November 2011
46 *
47 * .. Scalar Arguments ..
48  COMPLEX*16 ca,cb,s
49  DOUBLE PRECISION c
50 * ..
51 *
52 * =====================================================================
53 *
54 * .. Local Scalars ..
55  COMPLEX*16 alpha
56  DOUBLE PRECISION norm,scale
57 * ..
58 * .. Intrinsic Functions ..
59  INTRINSIC cdabs,dcmplx,dconjg,dsqrt
60 * ..
61  IF (cdabs(ca).EQ.0.0d0) THEN
62  c = 0.0d0
63  s = (1.0d0,0.0d0)
64  ca = cb
65  ELSE
66  scale = cdabs(ca) + cdabs(cb)
67  norm = scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2+
68  $ (cdabs(cb/dcmplx(scale,0.0d0)))**2)
69  alpha = ca/cdabs(ca)
70  c = cdabs(ca)/norm
71  s = alpha*dconjg(cb)/norm
72  ca = alpha*norm
73  END IF
74  RETURN

Here is the caller graph for this function:

subroutine zscal ( integer  N,
complex*16  ZA,
complex*16, dimension(*)  ZX,
integer  INCX 
)

ZSCAL

Purpose:
    ZSCAL scales a vector by a constant.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
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 54 of file zscal.f.

54 *
55 * -- Reference BLAS level1 routine (version 3.4.0) --
56 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58 * November 2011
59 *
60 * .. Scalar Arguments ..
61  COMPLEX*16 za
62  INTEGER incx,n
63 * ..
64 * .. Array Arguments ..
65  COMPLEX*16 zx(*)
66 * ..
67 *
68 * =====================================================================
69 *
70 * .. Local Scalars ..
71  INTEGER i,nincx
72 * ..
73  IF (n.LE.0 .OR. incx.LE.0) RETURN
74  IF (incx.EQ.1) THEN
75 *
76 * code for increment equal to 1
77 *
78  DO i = 1,n
79  zx(i) = za*zx(i)
80  END DO
81  ELSE
82 *
83 * code for increment not equal to 1
84 *
85  nincx = n*incx
86  DO i = 1,nincx,incx
87  zx(i) = za*zx(i)
88  END DO
89  END IF
90  RETURN
subroutine zswap ( integer  N,
complex*16, dimension(*)  ZX,
integer  INCX,
complex*16, dimension(*)  ZY,
integer  INCY 
)

ZSWAP

Purpose:
    ZSWAP interchanges two vectors.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 52 of file zswap.f.

52 *
53 * -- Reference BLAS level1 routine (version 3.4.0) --
54 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
55 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
56 * November 2011
57 *
58 * .. Scalar Arguments ..
59  INTEGER incx,incy,n
60 * ..
61 * .. Array Arguments ..
62  COMPLEX*16 zx(*),zy(*)
63 * ..
64 *
65 * =====================================================================
66 *
67 * .. Local Scalars ..
68  COMPLEX*16 ztemp
69  INTEGER i,ix,iy
70 * ..
71  IF (n.LE.0) RETURN
72  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
73 *
74 * code for both increments equal to 1
75  DO i = 1,n
76  ztemp = zx(i)
77  zx(i) = zy(i)
78  zy(i) = ztemp
79  END DO
80  ELSE
81 *
82 * code for unequal increments or equal increments not equal
83 * to 1
84 *
85  ix = 1
86  iy = 1
87  IF (incx.LT.0) ix = (-n+1)*incx + 1
88  IF (incy.LT.0) iy = (-n+1)*incy + 1
89  DO i = 1,n
90  ztemp = zx(ix)
91  zx(ix) = zy(iy)
92  zy(iy) = ztemp
93  ix = ix + incx
94  iy = iy + incy
95  END DO
96  END IF
97  RETURN