guanaqo 1.0.0-alpha.27
Utilities for scientific software
Loading...
Searching...
No Matches
sparse-ops.hpp File Reference

Detailed Description

Helpers for sparse matrix index ordering and conversions.

Definition in file sparse-ops.hpp.

#include <algorithm>
#include <cassert>
#include <numeric>
#include <ranges>
Include dependency graph for sparse-ops.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  guanaqo
namespace  guanaqo::linalg
namespace  guanaqo::linalg::detail

Macros

#define GUANAQO_SPARSE_SUPPORTS_SORTING   1

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<auto cmp, class... Ts>
void guanaqo::linalg::detail::sort_triplets_impl (Ts &&...triplets)
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.

Macro Definition Documentation

◆ GUANAQO_SPARSE_SUPPORTS_SORTING

#define GUANAQO_SPARSE_SUPPORTS_SORTING   1

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