11 template <
typename _rank,
typename _diff>
21 template <
typename,
typename>
29 template <
typename _rank,
typename _diff>
42 Chains(
const std::vector<rank_t> &,
const std::vector<diff_t> &);
58 template <
typename rank_t,
typename diff_t>
67 template <
typename _rank,
typename _diff>
102 template <
typename,
typename>
106 #include "impl/Chains.ipp"
A chain complex.
Definition: Chains.hpp:31
Chains()=default
Default constructor.
std::vector< rank_t > rank
rank[i]=rank(C[i])
Definition: Chains.hpp:35
_rank rank_t
The rank type.
Definition: Chains.hpp:33
int maxindex() const
The maximum index of the Chain complex.
std::vector< diff_t > diff
diff[i] is the differential C[i]->C[i-1] (diff[0] is always empty)
Definition: Chains.hpp:36
void push_back(const Arrow< rank_t, diff_t > &)
Chains dualize(int=-1) const
The dual cochain complex reindexed as a Chain complex. Optionally stop at index k (if k=-1 then nonst...
_diff diff_t
The differential type.
Definition: Chains.hpp:34
bool operator==(const Chains< rank_t, diff_t > &) const
Checks equality of Chain complexes.
Chains(const std::vector< rank_t > &, const std::vector< diff_t > &)
Constructor given ranks and diffs.
void push_back(const rank_t &, const diff_t &)
Consisting of an entering and an exiting differential.
Definition: Chains.hpp:69
_rank rank_t
The rank type.
Definition: Chains.hpp:71
rank_t rank
The rank of the middle group.
Definition: Chains.hpp:74
rank_t rankOut
The rank of the rightmost group.
Definition: Chains.hpp:75
_diff diff_t
The differential type.
Definition: Chains.hpp:72
diff_t diffOut
The exiting differential.
Definition: Chains.hpp:77
diff_t diffIn
The entering differential.
Definition: Chains.hpp:78
rank_t rankIn
The rank of the leftmost group.
Definition: Chains.hpp:76
Junction()=default
Default constructor.
Junction(const Chains< rank_t, diff_t > &, int)
Extract the Junction C[i+1]->C[i]->C[i-1] from the Chains C.
Junction(const rank_t &, const rank_t &, const rank_t &, const diff_t &, const diff_t &)
Construct Junction by directly setting the elements.
Tensor product of chain complexes and more.
Definition: Box.hpp:43
Everything in this library is under this namespace.
Definition: Box.hpp:9
std::ostream & operator<<(std::ostream &, const Chains< rank_t, diff_t > &)
Prints chain complex.
A differential with domain and range.
Definition: Chains.hpp:13
Arrow(const rank_t &, const rank_t &, const diff_t &)
_rank rank_t
The rank type.
Definition: Chains.hpp:14
diff_t diff
The differential.
Definition: Chains.hpp:18
rank_t range
Rank of the range of the differential.
Definition: Chains.hpp:17
_diff diff_t
The differential type.
Definition: Chains.hpp:15
rank_t domain
Rank of the domain of the differential.
Definition: Chains.hpp:16