Skip to main content
10 events
when toggle format what by license comment
Nov 18, 2017 at 15:12 comment added Jay Taylor @FriederLadisch Thanks for the details. Apologies if my second comment wasn't clear. I was saying what the function does for a general group, i.e., possibly not a permutation group. In this case I think my comment is accurate. I should have made that clearer. I'd seen it invokes IsNaturalSymmetricGroup first, for permutation groups, but couldn't figure out exactly what that was doing. Thanks for finding where that function is defined.
Nov 18, 2017 at 1:00 comment added Mikhail Tikhomirov Schreier-Sims-like algorithm could possibly work reasonably fast on groups of this order, assuming the action is known. With the obtained coset representation, it is a field day to check basically any property of a permutation group.
Nov 17, 2017 at 22:26 comment added Frieder Ladisch (A comment in the GAP-code refers to Seress, Permutation group algorithms, Section 10.2.)
Nov 17, 2017 at 22:22 comment added Frieder Ladisch The function IsSymmetricGroup checks whether a group is isomorphic to some symmetric group (so may return true even for a matrix group). The function IsNaturalSymmetricGroup checks whether a given subgroup is in fact all of $S_n$. But for a subgroup of $S_n$, IsSymmetricGroup first invokes IsNaturalSymmetricGroup... The implementation of the latter function is in the file 'gpprmsya.gi', and Igor Rivin's answer seems to be rather accurate: Check transitivity, and try to find randomly a $p$-cycle with $n/2 < p < n-2$.
Nov 17, 2017 at 17:27 vote accept Vladimir Dotsenko
Nov 17, 2017 at 17:27 comment added Vladimir Dotsenko @JayTaylor I don't think that the program could possibly compute the order of the group directly, without knowing the answer. All the groups I have been working with are too big for that. It is more plausible that an algorithm like Igor Rivin describes in his answer is used.
Nov 17, 2017 at 16:02 comment added Jay Taylor As far as I can tell from the source its general method for an arbitrary group $G$ is as follows: see if $G$ is finite, see if $[G,G]$ is simple by determining normal closures of conjugacy classes, see if $G \cong \mathrm{A}_n$ with $n\in \{5,6\}$ by ad-hoc methods, now check if $|G| = n!/2$ for some $n\geqslant 7$, then by CFSG we have $G \cong \mathrm{A}_n$. Checkout the command 'IsomorphismTypeInfoFiniteSimpleGroup' in 'grp.gi'.
Nov 17, 2017 at 15:39 comment added Jay Taylor The beauty about GAP is that it's open source, so you can just look up the code. A quick grep of the source code shows the command is defined in the file 'grpnames.gi' in the lib folder. It seems to check whether the derived subgroup is an alternating group using the command 'IsAlternatingGroup', which is defined in the same file.
Nov 17, 2017 at 15:37 answer added Igor Rivin timeline score: 12
Nov 17, 2017 at 15:26 history asked Vladimir Dotsenko CC BY-SA 3.0