Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::SparseMatrix Concept Reference

Expresses requirements for sparse matrix backends like DynMatrix. More...

#include <modular_linalg.H>

Concept definition

template<typename T>
concept Aleph::SparseMatrix = requires(const T & m, T & mut_m, size_t r, size_t c, uint64_t v)
{
{ m.rows() } -> std::convertible_to<size_t>;
{ m.cols() } -> std::convertible_to<size_t>;
{ m.read_ne(r, c) } -> std::convertible_to<uint64_t>;
{ mut_m.write(r, c, v) };
{ mut_m.traverse_allocated([](uint64_t &) { return true; }) } -> std::convertible_to<bool>;
{ mut_m.set_dimension(r, c) };
}
Expresses requirements for sparse matrix backends like DynMatrix.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
std::decay_t< typename HeadC::Item_Type > T
Definition ah-zip.H:105
FooMap m(5, fst_unit_pair_hash, snd_unit_pair_hash)
gsl_rng * r

Detailed Description

Expresses requirements for sparse matrix backends like DynMatrix.

Definition at line 62 of file modular_linalg.H.