Poplar and PopLibs
popsparse::CSRMatrix< T > Struct Template Reference

Sparse matrix stored in compressed sparse rows (CSR) format for a matrix of size [M x N]. More...

#include <SparseStorageFormats.hpp>

Inherits popsparse::Block.

Public Attributes

std::vector< T > nzValues
 The non-zero values of the sparse matrix.
 
std::vector< std::size_t > columnIndices
 The column index of each block in nzValues. More...
 
std::vector< std::size_t > rowIndices
 Indices where non-zero blocks of each row start. More...
 

Detailed Description

template<typename T>
struct popsparse::CSRMatrix< T >

Sparse matrix stored in compressed sparse rows (CSR) format for a matrix of size [M x N].

There is no explicit encoding of N in the storage. The number of row indices is equal to (M / number of rows in block) + 1. The case of element sparsity is treated as a special case with block size equal to {number of rows in block, number of columns in block} = {1, 1}.

Member Data Documentation

◆ columnIndices

template<typename T >
std::vector<std::size_t> popsparse::CSRMatrix< T >::columnIndices

The column index of each block in nzValues.

There are as many as blocks in nzValues.

◆ rowIndices

template<typename T >
std::vector<std::size_t> popsparse::CSRMatrix< T >::rowIndices

Indices where non-zero blocks of each row start.

There are a total of M+1 entries with the last entry equal to the number of entries in nzValues.


The documentation for this struct was generated from the following file: