Developer Reference for Intel® oneAPI Math Kernel Library for C
?doti
Computes the dot product of a compressed sparse real vector by a full-storage real vector.
Syntax
float cblas_sdoti ( const MKL_INT nz,
const float *x,
const MKL_INT *indx,
const float *y );
double cblas_ddoti ( const MKL_INT nz,
const double *x,
const MKL_INT *indx,
const double *y );
Include Files
mkl.h
Description
The ?doti routines return the dot product of x and y defined as
\[res = x[0]\cdot y[\text{indx}[0]] + x[1]\cdot y[\text{indx}[1]] + \dots + x[\text{nz} -1]\cdot y[\text{indx}[\text{nz} -1]]\]
where the triple ( nz, x, indx ) defines a sparse real vector stored in compressed form, and y is a real vector in full storage form. The functions reference only the elements of y whose indices are listed in the array indx . The values in indx must be distinct.
Input Parameters
nz
The number of elements in x and indx .
x
Array, size at least nz .
indx
Specifies the indices for the elements of x. Array, size at least nz .
y
Array, size at least \(\max(\text{indx}[i]) + 1\).
Output Parameters
res
Contains the dot product of \(x\) and \(y\), if nz is positive. Otherwise, res has value of 0.
BLAS 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.