Developer Reference

  • 0.9
  • 09/09/2020
  • Public Content
Contents

Sparse BLAS Coordinate Matrix Storage Format

The coordinate format is the most flexible and simplest format for the sparse matrix representation. Only non-zero elements are stored, and the coordinates of each non-zero element are given explicitly. Many commercial libraries support the matrix-vector multiplication for the sparse matrices in the coordinate format.
The
Intel® oneAPI Math Kernel Library
coordinate format is specified by three arrays:
values
,
rows
, and
column
, and a parameter
nnz
which is number of non-zero elements in
A
. All three arrays have dimension
nnz
. The following table describes the arrays in terms of the values, row, and column positions of the non-zero elements in a sparse matrix
A
.
values
A real or complex array that contains the non-zero elements of
A
in any order.
rows
Element
i
of the integer array
rows
is the number of the row in
A
that contains the
i
-th value in the
values
array.
columns
Element
i
of the integer array
columns
is the number of the column in
A
that contains the
i
-th value in the
values
array.
Note that the
Intel® oneAPI Math Kernel Library
Sparse BLAS routines support the coordinate format both with one-based indexing and zero-based indexing.
For example, the sparse matrix
C
can be represented in the coordinate format as follows:
Storage Arrays for an Example Matrix in case of the coordinate format
one-based indexing
values
=
(1
-1
-3
-2
5
4
6
4
-4
2
7
8
-5)
rows
=
(1
1
1
2
2
3
3
3
4
4
4
5
5)
columns
=
(1
2
3
1
2
3
4
5
1
3
4
2
5)
zero-based indexing
values
=
(1
-1
-3
-2
5
4
6
4
-4
2
7
8
-5)
rows
=
(0
0
0
1
1
2
2
2
3
3
3
4
4)
columns
=
(0
1
2
0
1
2
3
4
0
2
3
1
4)

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804