12 template<
typename group_t>
22 typedef typename std::vector<ccp> boundary_t;
25 typedef typename group_t::rank_t rank_t;
26 typedef typename group_t::diff_t diff_t;
28 struct cell_expanded {
29 std::vector<char> cell;
30 cell_expanded
action()
const;
32 bool operator==(
const cell_expanded& c)
const;
33 bool isfaceof(
const cell_expanded& c)
const;
35 struct cell_compressed {
36 std::vector<uint32_t> cell;
37 bool operator==(
const cell_compressed& c)
const;
41 std::vector<std::vector<cell_compressed>> cells_equivariant;
42 std::vector<std::vector<std::vector<int>>> cuts;
43 std::vector<std::vector<cell_expanded>> cells_nonequivariant;
45 int getrank(
const cell_compressed& v)
const;
46 rank_t getrank(
const std::vector<cell_compressed>& v)
const;
49 void setexpandedcells();
51 std::vector<cell_expanded> getfaces(
int dim, eq_t k);
53 cell_expanded getexpandedcell(
int dim, eq_t i)
const;
55 int64_t estimate_nonzero_entries(
int i);
56 auto boundary(
int dim, eq_t k);
59 std::pair<cell_compressed, int> erase_by_criterion(
const cell_compressed& v,
const T& criterion)
const;
61 std::array<std::pair<cell_compressed, int>, 2> quickcut(
const cell_compressed& v)
const;
62 std::pair<std::vector<cell_compressed>, std::vector<std::vector<int>>> quickcut(
const std::vector<cell_compressed>& v)
const;
69 #include "impl/BC4S2.ipp"
Contains classes for generating permutations, combinations and a factory for such classes.
Contains the class mackey::Space.
The space up to given dimension.
Definition: BC4S2.hpp:13
BC4S2(int dimension)
Constructs BC4S2 as a cellular equivariant space up to given dimension.
An equivariant space with an equivariant cellular decomposition.
Definition: Space.hpp:24
nonequivariant_index action(nonequivariant_index n, int dimension) const
Produces g*n given cell n.
Everything in this library is under this namespace.
Definition: Box.hpp:9