Vector Arguments
Compressed sparse vectors.
Let
a
be a vector stored in an array, and assume that the only non-zero elements of
a
are the following:
a[k1], a[k2], a[k3] . . . a[knz],
where
nz
is the total number of non-zero elements in
a
.
In Sparse BLAS, this vector can be represented in compressed form by two arrays,
x
(values) and
indx
(indices). Each array has
nz
elements:
x[0]=a[k1], x[1]=a[k2], . . . x[nz-1]= a[knz],
indx[0]=k1, indx[1]=k2, . . . indx[nz-1]= knz.
Thus, a sparse vector is fully determined by the triple (
nz
,
x
,
indx
). If you pass a negative or zero value of
nz
to Sparse BLAS, the subroutines do not modify any arrays or variables.
Full-storage vectors.
Sparse BLAS routines can also use a vector argument fully stored in a single array (a full-storage vector). If
y
is a full-storage vector, its elements must be stored contiguously: the first element in
y
[0]y
[1]incy
= 1