# NAG Library Routine Document

## 1Purpose

f06grf (zdotui) computes the scalar product of an unconjugated sparse complex vector with a complex vector.

## 2Specification

Fortran Interface
 Function f06grf ( nz, x, indx, y)
 Complex (Kind=nag_wp) :: f06grf Integer, Intent (In) :: nz, indx(*) Complex (Kind=nag_wp), Intent (In) :: x(*), y(*)
#include nagmk26.h
 Complex f06grf_ (const Integer *nz, const Complex x[], const Integer indx[], const Complex y[])
The routine may be called by its BLAS name zdotui.

## 3Description

f06grf (zdotui) returns, via the function name, the value of the scalar product
 $xTy$
where $x$ is a sparse complex vector stored in compressed form, and $y$ is a complex vector in full storage form.
Dodson D S, Grimes R G and Lewis J G (1991) Sparse extensions to the Fortran basic linear algebra subprograms ACM Trans. Math. Software 17 253–263

## 5Arguments

1:     $\mathbf{nz}$ – IntegerInput
On entry: the number of nonzeros in the sparse vector $x$.
2:     $\mathbf{x}\left(*\right)$ – Complex (Kind=nag_wp) arrayInput
Note: the dimension of the array x must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{nz}}\right)$.
On entry: the compressed vector $x$. x contains ${x}_{i}$ for $i\in J$.
3:     $\mathbf{indx}\left(*\right)$ – Integer arrayInput
Note: the dimension of the array indx must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{nz}}\right)$.
On entry: indx must contain the set of indices $J$.
4:     $\mathbf{y}\left(*\right)$ – Complex (Kind=nag_wp) arrayInput
Note: the dimension of the array y must be at least $\underset{\mathit{k}}{\mathrm{max}}\phantom{\rule{0.25em}{0ex}}\left\{{\mathbf{indx}}\left(\mathit{k}\right)\right\}$.
On entry: the vector $y$. Only elements corresponding to indices in indx are accessed.

None.

Not applicable.

## 8Parallelism and Performance

f06grf (zdotui) is not threaded in any implementation.