Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

cblas_?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]*y[indx[0]] + x[1]*y[indx[1]] +...+ x[nz-1]*y[indx[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(indx[i]).

Output Parameters

res

Contains the dot product of x and y, if nz is positive. Otherwise, res contains 0.