Mackey  V3.3
A C++ library for computing RO(G) graded homology
Levels.hpp
Go to the documentation of this file.
1 #pragma once
2 #include "Homology/Homology.hpp"
3 
6 
7 namespace mackey {
8 
10  template<typename group_t>
11  auto transfer(const typename group_t::rank_t&, int);
12 
14  template<typename group_t>
15  auto transfer(const typename group_t::diff_t& diff, const typename group_t::rank_t& domain, typename group_t::rank_t& domain_top, const typename group_t::rank_t& range, typename group_t::rank_t& range_top, int level);
16 
19 
22  template<typename T, typename group_t>
23  struct Levels {
24  std::vector<T> level;
25  Levels(T& bottom);
26  };
27 
28  template<typename group_t>
30 
32  template<typename group_t>
34 
36  template<typename group_t, typename Derived>
37  Derived transfer(const Eigen::MatrixBase<Derived>& generator, const typename group_t::rank_t& domain, const typename group_t::rank_t& range);
38 
40  template<typename rank_t, typename Derived>
41  Derived restriction(const Eigen::MatrixBase<Derived>& generator, const rank_t& domain, const rank_t& range);
42 
44  template<typename rank_t, typename Derived>
45  Derived action(const Eigen::MatrixBase<Derived>& generator, const rank_t& rank);
46 
50  template<typename rank_t, typename T>
51  T invRes(const T& generator, const rank_t& domain, const rank_t& range);
52 
54  template<typename group_t>
55  dense_t<typename group_t::rank_t> transfer(const Homology<typename group_t::rank_t, typename group_t::diff_t>& low, const Homology<typename group_t::rank_t, typename group_t::diff_t>& high, const typename group_t::rank_t& rank_low, const typename group_t::rank_t& rank_high);
56 
58  template<typename group_t>
59  dense_t<typename group_t::rank_t> restriction(const Homology<typename group_t::rank_t, typename group_t::diff_t>& high, const Homology<typename group_t::rank_t, typename group_t::diff_t>& low, const typename group_t::rank_t& rank_high, const typename group_t::rank_t& rank_low);
60 
62  template<typename group_t>
64 }
65 #include "impl/Levels.ipp"
Contains the class mackey::Homology.
A chain complex.
Definition: Chains.hpp:31
The Homology of a Junction.
Definition: Homology.hpp:19
Consisting of an entering and an exiting differential.
Definition: Chains.hpp:69
Everything in this library is under this namespace.
Definition: Box.hpp:9
Derived restriction(const Eigen::MatrixBase< Derived > &generator, const rank_t &domain, const rank_t &range)
Restrict generator to level given the ranks at the original level (domain) and the target level (rang...
auto transfer(const typename group_t::rank_t &, int)
Transfer the rank to given level.
Derived action(const Eigen::MatrixBase< Derived > &generator, const rank_t &rank)
Compute the act group action on a generator given the rank of the group it lives in.
Eigen::Matrix< scalar_t< T >,-1,-1 > dense_t
Dense column major.
Definition: Aliases.hpp:30
T invRes(const T &generator, const rank_t &domain, const rank_t &range)
Storage of various levels of Junction/Chains.
Definition: Levels.hpp:23
Levels(T &bottom)
std::vector< T > level
The various levels.
Definition: Levels.hpp:24