 LAPACK  3.9.0 LAPACK: Linear Algebra PACKage

## ◆ cdotu()

 complex function cdotu ( integer N, complex, dimension(*) CX, integer INCX, complex, dimension(*) CY, integer INCY )

CDOTU

Purpose:
``` CDOTU forms the dot product of two complex vectors
CDOTU = X^T * Y```
Parameters
 [in] N ``` N is INTEGER number of elements in input vector(s)``` [in] CX ` CX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )` [in] INCX ``` INCX is INTEGER storage spacing between elements of CX``` [in] CY ` CY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )` [in] INCY ``` INCY is INTEGER storage spacing between elements of CY```
Date
November 2017
Further Details:
```     jack dongarra, linpack, 3/11/78.
modified 12/3/93, array(1) declarations changed to array(*)```

Definition at line 85 of file cdotu.f.

85 *
86 * -- Reference BLAS level1 routine (version 3.8.0) --
87 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
88 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
89 * November 2017
90 *
91 * .. Scalar Arguments ..
92  INTEGER INCX,INCY,N
93 * ..
94 * .. Array Arguments ..
95  COMPLEX CX(*),CY(*)
96 * ..
97 *
98 * =====================================================================
99 *
100 * .. Local Scalars ..
101  COMPLEX CTEMP
102  INTEGER I,IX,IY
103 * ..
104  ctemp = (0.0,0.0)
105  cdotu = (0.0,0.0)
106  IF (n.LE.0) RETURN
107  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
108 *
109 * code for both increments equal to 1
110 *
111  DO i = 1,n
112  ctemp = ctemp + cx(i)*cy(i)
113  END DO
114  ELSE
115 *
116 * code for unequal increments or equal increments
117 * not equal to 1
118 *
119  ix = 1
120  iy = 1
121  IF (incx.LT.0) ix = (-n+1)*incx + 1
122  IF (incy.LT.0) iy = (-n+1)*incy + 1
123  DO i = 1,n
124  ctemp = ctemp + cx(ix)*cy(iy)
125  ix = ix + incx
126  iy = iy + incy
127  END DO
128  END IF
129  cdotu = ctemp
130  RETURN
Here is the caller graph for this function:
cdotu
complex function cdotu(N, CX, INCX, CY, INCY)
CDOTU
Definition: cdotu.f:85