'Identify the space group isomorphism between the the group created by AffineCrystGroup and the one given by crystcat package

I use the following code snippet to create the diamond space group in GAP with the help of cryst package:

gap> M1:=[[0, 0, 1, 0],[1, 0, 0, 0],[0, -1, 0, 0],[1/4, 1/4, 1/4, 1]];;
gap> M2:=[[0,0,-1,0],[0,-1,0,0],[1,0,0,0],[0,0,0,1]];;
gap> S:=AffineCrystGroup([M1,M2]);
<matrix group with 2 generators>

The above code snippet comes from page 21 of the book Computer Algebra and Materials Physics, as shown below:

As for the diamond case, in the GAP computation, the crystallographic group is
defined as follows. (The minimal generating set is used for simplicity.)
gap> M1:=[[0,0,1,0],[1,0,0,0],[0,-1,0,0],[1/4,1/4,1/4,1]];;
gap> M2:=[[0,0,-1,0],[0,-1,0,0],[1,0,0,0],[0,0,0,1]];;
gap> S:=AffineCrystGroup([M1,M2]);
<matrix group with 2 generators>
gap> P:=PointGroup(S);
Group([ [ [ 0, 0, 1 ], [ 1, 0, 0 ], [ 0, -1, 0 ] ],
[ [ 0, 0, -1 ], [ 0, -1, 0 ], [ 1, 0, 0 ] ] ])

It's well-known that diamond has the space group Fd-3m (No. 227). I wonder how I can verify/confirm/check this fact in GAP after I've created the above AffineCrystGroup.

Regards, HZ



Solution 1:[1]

Based on the document here, I created the same space group using the built-in dataset in crystcat. The two space groups should be isomorphic, but I tried the following methods and failed to get evidence of isomorphism between them:

M1:=[[0, 0, 1, 0],[1, 0, 0, 0],[0, -1, 0, 0],[1/4, 1/4, 1/4, 1]];;
M2:=[[0,0,-1,0],[0,-1,0,0],[1,0,0,0],[0,0,0,1]];;
S1:=AffineCrystGroup([M1,M2]);;
iso1:=IsomorphismFpGroup(S1);;
img1:=Image(iso1);;

# DisplaySpaceGroupType("Fd-3m");
# DisplaySpaceGroupType(3,227);
# Obtained from DisplaySpaceGroupGenerators("Fd-3m");
# DisplaySpaceGroupGenerators("Fd-3m");
gens2:=[
[ [  -1,   0,   0,   0 ],
  [   0,  -1,   0,   0 ],
  [   0,   0,  -1,   0 ],
  [   0,   0,   0,   1 ] ],
[ [   -1,    0,    0,    0 ],
  [    0,   -1,    0,    0 ],
  [    1,    1,    1,  1/2 ],
  [    0,    0,    0,    1 ] ],
[ [  0,  0,  1,  0 ],
  [  1,  0,  0,  0 ],
  [  0,  1,  0,  0 ],
  [  0,  0,  0,  1 ] ],
[ [    0,    0,    1,    0 ],
  [   -1,   -1,   -1,  1/2 ],
  [    1,    0,    0,    0 ],
  [    0,    0,    0,    1 ] ],
[ [    0,    1,    0,    0 ],
  [    1,    0,    0,    0 ],
  [   -1,   -1,   -1,  1/2 ],
  [    0,    0,    0,    1 ] ]];;
S2:=TransposedMatrixGroup(AffineCrystGroupOnLeft(gens2));;
iso2:=IsomorphismFpGroup(S2);;
img2:=Image(iso2);;

IsomorphismGroups(S1,S2); 
IsomorphismGroups(img1,img2); 

The IsomorphismGroups(S1,S2) fails as follows:

gap> IsomorphismGroups(S1,S2);
#I  Forcing finiteness test
Error, cannot test isomorphism of infinite groups at /home/werner/Public/repo/github.com/gap-system/gap.git/lib/morpheus.gi:2835 called from
<function "IsomorphismGroups">( <arguments> )
 called from read-eval loop at *stdin*:63
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue

The IsomorphismGroups(img1,img2) freezes at the following step forever:

gap> IsomorphismGroups(img1,img2);
#I  Forcing finiteness test

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1