How to check in GAP whether two groups are isomorphic Let $G,H$ be two Groups. How to check with GAP whether they are isomorphic or not?
For example, GAP has IsNilpotentGroup to check whether the group $G$ is nilpotent. Is there a similar function named like AreIsomorphicGroups to check whether $G$ and $H$ are isomorphic or not?
 A: There are two aspects here: how to search such information in GAP, and how to actually check the isomorphism of two groups.
First, the OP was quite close to guessing the name of the function, since most of the documented GAP functions follow these naming conventions. Functions that return true or false usually have the name of the form IsSomething (even in the cases when AreSomething could make sense). So one could expect that GAP has something named like IsIsomorph....
Making such a guess, one could now use the help system to find all help entries starting with IsIsom. To do this, enter ?IsIsom in GAP (one could also try ??IsIsom to find all entries containing a substring IsIsom). This will produce a list of entries, and those which are relevant are
ANUPQ (not loaded): IsIsomorphicPGroup                                                

and
SONATA (not loaded): IsIsomorphicGroup                                                

(this also demonstrates a very useful feature of the help system - searching in the manuals of packages even when they are not loaded).
Now in more details about the actual isomorphism check. If one would open the documentation of SONATA's IsIsomorphicGroup, that would lead to the GAP  function IsomorphismGroups which constructs and returns the actual isomorphism, if it is possible, or returns fail if the groups are non-isomorphic (see here). For example:
gap> G:=DihedralGroup(8);
<pc group of size 8 with 3 generators>
gap> H:=Group( (1,5)(2,3)(4,8)(6,7), (1,2)(3,8)(4,6)(5,7) );
Group([ (1,5)(2,3)(4,8)(6,7), (1,2)(3,8)(4,6)(5,7) ])
gap> IsomorphismGroups(H,G);
[ (1,5)(2,3)(4,8)(6,7), (1,2)(3,8)(4,6)(5,7) ] -> [ f1*f3, f1*f2 ]
gap> T:=Group([ (1,7,4,3)(2,8,6,5), (1,4)(2,6)(3,7)(5,8) ]);
Group([ (1,7,4,3)(2,8,6,5), (1,4)(2,6)(3,7)(5,8) ])
gap> IsomorphismGroups(T,G);
fail

One could inspect the source code of this function entering
PageSource(IsomorphismGroups);

to see that before attempting to construct the isomorphism it does some checks of necessary conditions and will immediately return fail if e.g. the groups have different orders or different number of conjugacy classes. Also, for groups of the order that allows identification of the group in the GAP Small Groups Library (see IdGroup here) it checks that both groups have the same ID and returns fail if not.
This may be useful if one is only interested whether two groups are isomorphic, but not interested in the actual homomorphism: in this case G and H are isomorphic if and only if IdGroup(G)=IdGroup(H). In the example above, we have:
gap> IdGroup(G);
[ 8, 3 ]
gap> IdGroup(H);
[ 8, 3 ]
gap> IdGroup(T);
[ 4, 1 ]

Identification using IdGroup is possible for all orders in the library except for the orders $512$ and $1536$ and except for the orders $p^5$, $p^6$ and $p^7$ above $2000$ (see here). Also note that ANUPQ package has an undocumented function IdStandardPresented512Group which provides identification for groups of order 512.
This approach is used by the SONATA package which provides a function IsIsomorphicGroup (see here) which returns true or false dependently on whether the two groups are isomorphic or not:
gap> LoadPackage("sonata");
true
gap> IsIsomorphicGroup(G,H);
true
gap> IsIsomorphicGroup(G,T);
false

To inspect the code of IsIsomorphicGroup, first call LoadPackage("sonata"); and then enter
PageSource(ApplicableMethod(IsIsomorphicGroup,[Group((1,2)),Group((2,3))]));

Then one could also see that this checks some necessary conditions before doing actual work in the generic method which just checks that IsomorphismGroups( G, H ) <> fail. These necessary conditions could work fast for small groups but not work very efficiently for very large ones (e.g. comparing the number of elements of each order), so this should be used with care.
In case of a $p$-group, the ANUPQ package (requires compilation, not available in the GAP distribution for Windows) provides the function IsIsomorphicPGroup (see here) which is applicable only to groups of prime power order and may be more efficient in this case. See more details about the algorithm it uses here.
For very large groups, checking whether they are isomorphic or not may be quite time-consuming. One could try to calculate some other invariants to try to show that they are different, and/or try to find better representation of the group (e.g. convert a group given by generators and relators to a permutation group) so that GAP will operate with it faster. In case of any challenging examples, I suggest to post them in separate questions.
