Functions to create and handle sparse arrays and matrix operations. More...
Topics | |
dense | |
Returns a dense array from a sparse input. | |
sparse | |
Create a sparse array. | |
sparseConvertTo | |
Convert an existing sparse array into a different storage format. | |
sparseGetColdx | |
Returns reference to the column indices component of the sparse array. | |
sparseGetInfo | |
Returns reference to components of the input sparse array. | |
sparseGetNNZ | |
Returns the number of non zero elements in the sparse array. | |
sparseGetRowIdx | |
Returns reference to the row indices component of the sparse array. | |
sparseGetStorage | |
Returns the storage type of a sparse array. | |
sparseGetValues | |
Returns reference to the values component of the sparse array. | |
Functions to create and handle sparse arrays and matrix operations.
Sparse array in ArrayFire use the same array (or af_array) handle as normal. Internally, this handle is used to maintain a structure of the sparse array (components listed below).
Description | Data Type |
---|---|
Values | T (one of f32, f64, c32, c64) |
Row Indices | Int (s32) |
Column Indices | Int (s32) |
Storage | storage |
The value array contains the non-zero elements of the matrix. The dtype of the value array is the same as that of the matrix. The size of this array is the same as the number of non-zero elements of the matrix.
The row indices and column indices contain the indices based on storage type. These array are always of type s32.
The storage is used to determin the type of storage to use. Currently AF_STORAGE_CSR and AF_STORAGE_COO are available.
A sparse array can be identied using the issparse() function. This function will return true for a sparse array and false for a regular array.
The valid operations on sparse arrays are matmul (sparse-dense). When calling matmul for sparse matrices, the sparse array is required to be the left hand side matrix and can be used with transposing options. The dense matrix on the right hand side cannot be used with any transpose options.
Most functions cannot use sparse arrays and will throw an error with AF_ERR_ARG if a sparse array is given as input.