guanaqo 1.0.0-alpha.27
Utilities for scientific software
Loading...
Searching...
No Matches
guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex > Struct Template Reference

#include <guanaqo/linalg/sparsity.hpp>

Detailed Description

template<class Index, class StorageIndex>
struct guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >

Sparse compressed-column structure (CCS or CSC).

Definition at line 44 of file sparsity.hpp.

Collaboration diagram for guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >:

Public Types

enum  Order : uint8_t { Unsorted = 0 , SortedRows = 1 }
using index_t = Index
using storage_index_t = StorageIndex

Public Member Functions

length_t nnz () const
 Get the number of structurally nonzero elements.

Public Attributes

length_t rows = 0
length_t cols = 0
Symmetry symmetry = Symmetry::Unsymmetric
std::span< const index_tinner_idx {}
std::span< const storage_index_touter_ptr {}
Order order = Unsorted

Member Typedef Documentation

◆ index_t

template<class Index, class StorageIndex>
using guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::index_t = Index

Definition at line 45 of file sparsity.hpp.

◆ storage_index_t

template<class Index, class StorageIndex>
using guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::storage_index_t = StorageIndex

Definition at line 46 of file sparsity.hpp.

Member Enumeration Documentation

◆ Order

template<class Index, class StorageIndex>
enum guanaqo::linalg::sparsity::SparseCSC::Order : uint8_t
Enumerator
Unsorted 

The row indices are not sorted.

SortedRows 

Within each column, all row indices are sorted in ascending order.

Definition at line 51 of file sparsity.hpp.

Member Function Documentation

◆ nnz()

template<class Index, class StorageIndex>
length_t guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::nnz ( ) const
inlinenodiscard

Get the number of structurally nonzero elements.

Definition at line 60 of file sparsity.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ rows

template<class Index, class StorageIndex>
length_t guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::rows = 0

Definition at line 47 of file sparsity.hpp.

◆ cols

template<class Index, class StorageIndex>
length_t guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::cols = 0

Definition at line 47 of file sparsity.hpp.

◆ symmetry

template<class Index, class StorageIndex>
Symmetry guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::symmetry = Symmetry::Unsymmetric

Definition at line 48 of file sparsity.hpp.

◆ inner_idx

template<class Index, class StorageIndex>
std::span<const index_t> guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::inner_idx {}

Definition at line 49 of file sparsity.hpp.

◆ outer_ptr

template<class Index, class StorageIndex>
std::span<const storage_index_t> guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::outer_ptr {}

Definition at line 50 of file sparsity.hpp.

◆ order

template<class Index, class StorageIndex>
Order guanaqo::linalg::sparsity::SparseCSC< Index, StorageIndex >::order = Unsorted

Definition at line 57 of file sparsity.hpp.


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