?dotc
计算共轭向量与另一向量的点积。
即 。x和y是长度为n的复数向量。
。x和y是长度为n的复数向量。
接口定义
C interface:
float _Complex cblas_cdotc(const BLASINT n, const void *x, const BLASINT incx, const void *y, const BLASINT incy);
void cblas_cdotc_sub(const BLASINT n, const void *x, const BLASINT incx, const void *y, const BLASINT incy, void *ret);
double _Complex cblas_zdotc(const BLASINT n, const void *x, const BLASINT incx, const void *y, const BLASINT incy);
void cblas_zdotc_sub(const BLASINT n, const void *x, const BLASINT incx, const void *y, const BLASINT incy, void *ret);
Fortran interface:
RES = CDOTC(N, CX, INCX, CY, INCY)
RES = ZDOTC(N, CX, INCX, CY, INCY)
参数
| 参数名 | 类型 | 描述 | 输入/输出 | 
|---|---|---|---|
| n | 整型数 | 表示x、y向量的元素个数。 | 输入 | 
| x | 
 | 向量x,向量规模至少是(1+(n-1)*abs(incx))。 | 输入 | 
| incx | 整型数。 | 表示x向量增长步长。 | 输入 | 
| y | 
 | 向量y,向量规模至少是(1+(n-1)*abs(incy))。 | 输入 | 
| incy | 整型数 | 表示y向量增长步长。 | 输入 | 
| ret | 
 | 计算结果。 | 输出 | 
依赖
#include "kblas.h"
示例
C interface:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int n = 5, incx = 1, incy = 1; /** * X: * 0.340188, -0.105617, 0.283099, 0.298440, 0.411647, * -0.302449, -0.164777, 0.268230, -0.222225, 0.053970 * Y: * -0.022603, 0.128871, -0.135216, 0.013401, 0.452230, * 0.416195, 0.135712, 0.217297, -0.358397, 0.106969 */ float x[10] = {0.340188, -0.105617, 0.283099, 0.298440, 0.411647, -0.302449, -0.164777, 0.268230, -0.222225, 0.053970}; float y[10] = {-0.022603, 0.128871, -0.135216, 0.013401, 0.452230, 0.416195, 0.135712, 0.217297, -0.358397, 0.106969}; float _Complex res = cblas_cdotc(n, x, incx, y, incy); /** * Output: 0.126042, 0.317067 * */ | 
Fortran interface:
      COMPLEX(4) :: RES 
      INTEGER :: N=5 
      INTEGER :: INCX=1 
      INTEGER :: INCY=1 
      COMPLEX(4) :: X(5) 
      DATA X/(0.340188, -0.105617), (0.283099, 0.298440), 
     $        (0.411647, -0.302449), (-0.164777, 0.268230), 
     $        (-0.222225, 0.053970)/ 
      COMPLEX(4) :: Y(5) 
      DATA Y/(-0.022603, 0.128871), (-0.135216, 0.013401), 
     $        (0.452230, 0.416195), (0.135712, 0.217297), 
     $        (-0.358397, 0.106969)/ 
      EXTERNAL CDOTC 
      RES=CDOTC(N,X,INCX,Y,INCY) 
 
*     Output : (0.126043, 0.317066)