guanaqo 1.0.0-alpha.27
Utilities for scientific software
Loading...
Searching...
No Matches
Sparsity Utilities

Detailed Description

Sparse matrix utilities for sorting indices, checking uniqueness, etc.

Collaboration diagram for Sparsity Utilities:

Files

file  sparse-ops.hpp
 Helpers for sparse matrix index ordering and conversions.

Functions

void guanaqo::linalg::convert_triplets_to_ccs (const auto &rows, const auto &cols, auto &&inner_idx, auto &&outer_ptr, auto idx_0=0)
template<class... Ts>
void guanaqo::linalg::sort_triplets (Ts &&...triplets)
 Sort the (row, column, value) triplets, by column index first, then row.
template<class... Ts>
void guanaqo::linalg::sort_triplets_col (Ts &&...triplets)
 Sort the (row, column, value) triplets by column index.
template<class Outer, class... Inners>
void guanaqo::linalg::sort_rows_csc (const Outer &outer_ptr, Inners &&...inners)
 Given a sparse compressed-column storage matrix, sort all row indices within each column.
template<class... Ts>
bool guanaqo::linalg::check_uniqueness_triplets (Ts &&...triplets)
 Check that no two entries with the same row and column index exist in the given sparse coordinate list matrix.
template<class Outer, class Inner>
bool guanaqo::linalg::check_uniqueness_csc (const Outer &outer_ptr, const Inner inner)
 Check that no two entries with the same row and column index exist in the given sparse compressed-column storage matrix.

Function Documentation

◆ convert_triplets_to_ccs()

void guanaqo::linalg::convert_triplets_to_ccs ( const auto & rows,
const auto & cols,
auto && inner_idx,
auto && outer_ptr,
auto idx_0 = 0 )

#include <guanaqo/linalg/sparse-ops.hpp>

Definition at line 21 of file sparse-ops.hpp.

Here is the caller graph for this function:

◆ sort_triplets()

template<class... Ts>
void guanaqo::linalg::sort_triplets ( Ts &&... triplets)

#include <guanaqo/linalg/sparse-ops.hpp>

Sort the (row, column, value) triplets, by column index first, then row.

Definition at line 58 of file sparse-ops.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sort_triplets_col()

template<class... Ts>
void guanaqo::linalg::sort_triplets_col ( Ts &&... triplets)

#include <guanaqo/linalg/sparse-ops.hpp>

Sort the (row, column, value) triplets by column index.

Definition at line 70 of file sparse-ops.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sort_rows_csc()

template<class Outer, class... Inners>
void guanaqo::linalg::sort_rows_csc ( const Outer & outer_ptr,
Inners &&... inners )

#include <guanaqo/linalg/sparse-ops.hpp>

Given a sparse compressed-column storage matrix, sort all row indices within each column.

Definition at line 82 of file sparse-ops.hpp.

Here is the caller graph for this function:

◆ check_uniqueness_triplets()

template<class... Ts>
bool guanaqo::linalg::check_uniqueness_triplets ( Ts &&... triplets)

#include <guanaqo/linalg/sparse-ops.hpp>

Check that no two entries with the same row and column index exist in the given sparse coordinate list matrix.

Assumes sorted indices.

Definition at line 104 of file sparse-ops.hpp.

Here is the caller graph for this function:

◆ check_uniqueness_csc()

template<class Outer, class Inner>
bool guanaqo::linalg::check_uniqueness_csc ( const Outer & outer_ptr,
const Inner inner )

#include <guanaqo/linalg/sparse-ops.hpp>

Check that no two entries with the same row and column index exist in the given sparse compressed-column storage matrix.

Assumes sorted indices.

Definition at line 116 of file sparse-ops.hpp.

Here is the caller graph for this function: