?doti

Computes the dot product of a compressed sparse real vector by a full-storage real vector.

Syntax

FORTRAN 77:

res = sdoti(nz, x, indx, y )

res = ddoti(nz, x, indx, y )

Fortran 95:

res = doti(x, indx, y)

Include Files

The FORTRAN 77 interfaces are specified in the mkl_blas.fi include file, the Fortran 95 interfaces are specified in the blas.f90 include file, and the C interfaces are specified in the mkl_blas.h include file.

Description

The ?doti routines return the dot product of x and y defined as res = x(1)*y(indx(1)) + x(2)*y(indx(2)) +...+ x(nz)*y(indx(nz))

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

INTEGER. The number of elements in x and indx .

x

REAL for sdoti

DOUBLE PRECISION for ddoti

Array, DIMENSION at least nz.

indx

INTEGER. Specifies the indices for the elements of x.

Array, DIMENSION at least nz.

y

REAL for sdoti

DOUBLE PRECISION for ddoti

Array, DIMENSION at least max(indx(i)).

Output Parameters

res

REAL for sdoti

DOUBLE PRECISION for ddoti

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

Fortran 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see Fortran 95 Interface Conventions.

Specific details for the routine doti interface are the following:

x

Holds the vector with the number of elements nz.

indx

Holds the vector with the number of elements nz.

y

Holds the vector with the number of elements nz.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.