aidevnn / ToadChaser

Todd Coxeter Algorithm in CSharp for generating Cosets classes for a Subgroup H of a finitely presented group G by generators and relators

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Example of the paper

aidevnn opened this issue · comments

In S7, the three following elements are computed with FastGoat by this way

a = (5 6 7) and b = (2 3)(4 5) and c = (1 2)(5 6)

var allC2 = S7.Where(e => S7.GetOrderOf(e) == 2);
var allC3 = S7.Where(e => S7.GetOrderOf(e) == 3);
var set = allC3.SelectMany(a => allC2.Select(b => (a, b)));
var ne = S7.Neutral();
var filter1 = from e in set
              where ((e.a * e.b) ^ 2) != ne && ((e.a * e.b) ^ 4) == ne
              select e;

var filter2 = from e in filter1
              from ec in allC2
              where ((e.a * ec) ^ 2) == ne
              && ((e.b * ec) ^ 3) == ne
              && !Group.Generate(e.a, e.b).Contains(ec)
              select (e.a, e.b, ec);

var (a, b, c) = filter2.First();

and they are generating a non abelian group G of order 72 and they are respecting all the relations.

a^3 = b^2 = c^2 = 1

ab = (2 3)(4 5 6 7) then (ab)^4 = 1

bc = (1 2 3)(4 6 5) then (bc)^3 = 1

ac = (1 2)(6 7) and (ac)^2 = 1

I must review in depth many things.