I have a group described by group relations. For simplicity group has a presentation $<a | a^n = e>$. How can I create this group in Mathematica?
2 Answers
You can get at a group's DefiningRelations and check if they match your presentation.
identifyGroup[presentation_] := Select[ SubsetQ[ FiniteGroupData[#,"DefiningRelations"], presentation ]&]@FiniteGroupData[] Then if you do identifyGroup[Equal[1, 2\[SmallCircle]2]] you will get a list of groups which include 1 == 2 \[SmallCircle] 2 in their defining relations.
You can add additional equalities to the presentation. For example identifyGroup[ Equal[1, 2\[SmallCircle]2, 2\[SmallCircle]3\[SmallCircle]2\[SmallCircle]3]] and get the list
{{"CrystallographicPointGroup", 5}, {"CrystallographicPointGroup", 6}, {"CrystallographicPointGroup", 7}, {"DihedralGroup", 2}, {"PointGroup", {"Cv", 2}}, {"PointGroup", {"D", 2}}, {"PointGroup", {"Dh", 2}} } and so on. You can look at a full set of the defining relations that Mathematica knows by Table[FiniteGroupData[g, "DefiningRelations"], {g, FiniteGroupData[]}].
I'm not sure exactly how Mathematica wants the small-circle superscript, it may be a bit finnicky to get working in the general case.
Note that there is a bit of guesswork as to the names of the generators---all the generators have a number, and I haven't figured out how to do pattern matching on the DefiningRelations so that you could write eg. 1 == a_ \[SmallCircle] a_ or whatever and have it match correctly.
A warning: some groups have Missing[NotAvailable] presentations, and there are some very large groups that Mathematica might not be able to check.
Would something like
G := FormGroupoid[Range[0, 7], Mod[#1 + #2, 8] &] work?
- $\begingroup$ Thanks, but l'm looking for solution that uses group relations $\endgroup$Sergey Kopylov– Sergey Kopylov2018-12-21 21:09:32 +00:00Commented Dec 21, 2018 at 21:09
- 3$\begingroup$
FormGroupoidis not a builtin. If you are using a package, please mention it. $\endgroup$Szabolcs– Szabolcs2018-12-22 13:38:26 +00:00Commented Dec 22, 2018 at 13:38
CyclicGroup[n]do? $\endgroup$