show fundamental lines

This commit is contained in:
David Allemang
2022-09-14 14:17:16 -04:00
parent 181bf0cf19
commit aa88aee643
7 changed files with 122 additions and 43 deletions

View File

@@ -11,4 +11,20 @@
namespace tc {
Cosets solve(const Group &group, const std::vector<Gen> &sub_gens, const Coset &bound = UNBOUNDED);
// todo
///**
// * Solve the cosets generated by sg_gens within the subgroup generated by g_gens of the group context
// */
// tc::Cosets solve(
// const tc::Group &context,
// const std::vector<tc::Gen> &g_gens,
// const std::vector<tc::Gen> &sg_gens
// ) {
// // todo this should also be handled with 'global' generators.
// const auto proper_sg_gens = recontext_gens(context, g_gens, sg_gens);
//
// return tc::solve(context.subgroup(g_gens), proper_sg_gens);
// }
}

View File

@@ -67,14 +67,14 @@ namespace tc {
return _orders(i, j);
}
[[nodiscard]] SubGroup subgroup(const std::vector<int> &gens) const;
[[nodiscard]] SubGroup subgroup(const std::vector<tc::Gen> &gens) const;
};
struct SubGroup : public Group {
std::vector<int> gen_map;
std::vector<tc::Gen> gen_map;
const Group &parent;
SubGroup(const Group &parent, std::vector<int> gen_map)
SubGroup(const Group &parent, std::vector<tc::Gen> gen_map)
: Group(gen_map.size()), parent(parent), gen_map() {
std::sort(gen_map.begin(), gen_map.end());

View File

@@ -6,7 +6,7 @@
#include <vector>
namespace tc {
SubGroup Group::subgroup(const std::vector<int> &gens) const {
SubGroup Group::subgroup(const std::vector<tc::Gen> &gens) const {
return {*this, gens};
}