10

GAP is computer algebra system which allows to make calculations with finite groups. (See wikipedia link for an example).

Is there web interface for it ? (I cannot google it.) Or may be some other computer algebra systems which allows to calculate with finite groups (i.e. obtain information on subgroups, conjugacy classes, irreducible representations etc...)

  • 9
    https://cocalc.com/ – Dan Piponi Jun 06 '17 at 18:32
  • 2
    @DanPiponi Could you turn that into an answer? – Federico Poloni Jun 06 '17 at 18:42
  • Is there a particular reason you want a web interface, instead of installing it on your computer (its free). – Max Horn Jun 08 '17 at 17:27
  • @MaxHorn 1) I tried to install but failed (some errors via installing) 2) on certain places where I work it is forbidden to isntall anything 3) Most time I use smartphone or tablet – Alexander Chervov Jun 09 '17 at 07:01
  • We need to distinguish web-interface and browser-based interface (to local GAP installation). It seems that you need the former one, while some answers suggest the latter. For installation, please contact GAP Support and tell which errors did you get. Finally, if you're not allowed to run exe-installer, get win-zip archive from http://www.gap-system.org/Releases/ - it does not require admin rights. You will have to manually edit bat-files to point to the installation directory. – Olexandr Konovalov Jun 09 '17 at 12:18
  • @AlexanderKonovalov I'd like to have web interface to core which is somewhere on public server (not my comp.). In that sense Magma calculator is Ok, I am not sure other answers are ok in that sense... Is such thing for GAP ? – Alexander Chervov Jun 10 '17 at 19:03
  • @AlexanderChervov GAP website does not provide online GAP calculator. In your case, I suggest to use cocalc.com which was formerly known as SageMathCloud. You will be able to run much longer calculations, not limited by 2 minutes like Magma online calculator, store your code for further runs, etc. – Olexandr Konovalov Jun 10 '17 at 22:45
  • @AlexanderKonovalov Can you look at Question 1c here: https://mathoverflow.net/questions/271752/number-of-commuting-pairs-triples-n-tuples-in-gl-nf-q-and-other-groups thanks in advance ! – Alexander Chervov Jun 12 '17 at 16:54
  • "AlternatingCharacterTable(11)" - will give character table in Magma for A_11 http://magma.maths.usyd.edu.au/calc/ – Alexander Chervov Aug 15 '17 at 14:10
  • GAP handles more than just finite groups. For instance, it can work with finitely presented groups. – Shaun Oct 29 '18 at 04:02

3 Answers3

20

You can get at GAP through http://sagemath.org, which has a perfectly fine web notebook interface.

Igor Rivin
  • 95,560
  • Can you run GAP directly through the notebook, or do you have to wrap everything in SAGE commands? I'd assumed the latter, so I've tended to use a GAP console via the cloud -- http://cocalc.com -- but I'd be interested to know if SAGE provided direct GAP access some other way... – Nick Gill Jun 07 '17 at 08:42
  • 1
    @NickGill You can do both: either conjure a Gap console, or send text commands to Gap, or wrap them in Sage objects. Input to Gap through Sage works very well; output, on the other hand (i.e., use of the objects returned by Gap) is less felicitous in my experience, but YMMV. I haven't tried this in the Sage notebook (i.e., web) interface, so I can't really speak about this aspect. – Gro-Tsen Jun 07 '17 at 12:43
  • @NickGill - isn't cocalc a SageMath cloud server? – Gordon Royle Jun 07 '17 at 14:05
  • @Gro-Tsen It works fine. One problem with "atlasrep" package. When I tried AtlasGroup function I obtain error:

    gap> g:=AtlasGroup("J1");

    /projects/sage/sage-7.5/local/gap/latest/pkg/atlasrep/datagens/J1G1-p266B0.m1: Permission denied

    fail

    Do you have advice ?

    –  Jun 09 '17 at 08:43
11

There is the Magma calculator which can be used to do calculations in finite groups.

One problem is that you have to type in all of your input before executing it, but with practice you can do quite complicated calculations.

For example, you can carry out the calculation from my answer to this question (which was actually about infinite groups). Typing in the following code

G<x,y,z>:=Group<x,y,z|x*y^-1*x^-1=z^2*y, x*z^-2=z^2*x, x*y*x^-1*y=z^2,
  y^2*x*z=z*x >;
K<a,b,c,d> := sub<G | x^2, z^2, x*z*y^-1, y^2>;
Index(G,K);
Rewrite(G,~K);
K;
Transversal(G,K);
PK, phi := ElementaryAbelianQuotient(K,2);
Order(PK);
K2 := Kernel(phi);
Index(K,K2);
T2 := Transversal(K,K2);
exists{k : k in T2 | (x*k)^2 in K2 };
exists{k : k in T2 | (y*k)^2 in K2 };
exists{k : k in T2 | (z*k)^2 in K2 };

results in the output:

4
Finitely presented group K on 4 generators
Index in group G is 4 = 2^2
Generators as words in group G
    a = x^2
    b = z^2
    c = x * z * y^-1
    d = y^2
Relations
    (c^-1, a) = Id(K)
    (a^-1, b) = Id(K)
    (a^-1, d^-1) = Id(K)
    (d^-1, b^-1) = Id(K)
    (b, c) = Id(K)
    d * c * b^-1 * d^-1 * c^-1 * b^-1 = Id(K)
    b^-1 * a * c^-1 * a^-1 * b * c = Id(K)
{@ Id(G), x, y, z @}
Mapping from: GrpFP: G to {@ Id(G), x, y, z @}
16
16
false
false
false
Derek Holt
  • 36,425
  • 4
  • 91
  • 144
9

There exists a Jupyter kernel for GAP, see https://github.com/gap-packages/jupyter-kernel-gap

A simple way to get this actually running is through SageMath: if you have a recent beta(!) version of SageMath installed (or wait until 8.0 gets released), you can run sage -i gap_jupyter to install that kernel. At that point, you start Jupyter with sage -n jupyter and then create a New GAP notebook using the Jupyter menu.