Developer Reference

Contents

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[k
1
], a[k
2
], a[k
3
] . . . a[k
nz
],
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[k
1
], x[1]=a[k
2
], . . . x[nz-1]= a[k
nz
],
indx[0]=k
1
, indx[1]=k
2
, . . . indx[nz-1]= k
nz
.
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]
, the second in
y
[1]
, and so on. This corresponds to an increment
incy
= 1
in BLAS Level 1. No increment value for full-storage vectors is passed as an argument to Sparse BLAS routines or functions.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.