Module rustlearn::array::sparse
[−]
[src]
Sparse matrices.
Two main sparse matrices are implemented: SparseRowArray and SparseColumnArray.
Both support efficient incremental construction as well as efficient iteration over
nonzero entries. Data is stored as indices and data vectors, in a row-wise or column-wise fashion.
SparseRowArray allows efficient iteration over rows, and SparseColumnArray allows efficient
iteration over columns.
Examples
Creating and populating an array
use rustlearn::prelude::*; let mut array = SparseRowArray::zeros(20, 5); array.set(0, 2, 5.0); println!("Entry at ({}, {}) is {}", 0, 2, array.get(0, 2));
Iterating over an array
use rustlearn::prelude::*; let array = SparseRowArray::from(&Array::from(&vec![vec![1.0, 2.0], vec![3.0, 4.0]])); for (row_idx, row) in array.iter_rows().enumerate() { for (column_idx, value) in row.iter_nonzero() { println!("Entry at ({}, {}) is {}", row_idx, column_idx, value); } }
Structs
| SparseArrayIterator |
Iterator over row or column views of a sparse matrix. |
| SparseArrayView |
A view into a row or a column of an existing sparse matrix. |
| SparseArrayViewIterator |
Iterator over nonzero entries of a |
| SparseColumnArray |
A sparse matrix with entries arranged column-wise. |
| SparseRowArray |
A sparse matrix with entries arranged row-wise. |