gap-packages / cryst

Computing with crystallographic groups
https://www.math.uni-bielefeld.de/~gaehler/gap/packages.php#Cryst
Other
3 stars 6 forks source link

About the result of `IsSpaceGroup` in some edge cases. #35

Closed hongyi-zhao closed 1 year ago

hongyi-zhao commented 1 year ago

See my following testing:

gap> S1:=SpaceGroupOnLeftIT(3,1);
SpaceGroupOnLeftIT(3,1,'1')
gap> S2gen:=[ 
>   [ [ 1, 0, 0, 1/2 ], [ 0, 1, 0, 1/3 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ], 
>   [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 5/7 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ], 
>   [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 1 ], [ 0, 0, 0, 1 ] ] ];
[ [ [ 1, 0, 0, 1/2 ], [ 0, 1, 0, 1/3 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ], [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 5/7 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ], 
  [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 1 ], [ 0, 0, 0, 1 ] ] ]
gap> S2:=AffineCrystGroupOnLeft( S2gen );
<matrix group with 3 generators>
gap> IsSpaceGroup( S2 );
true
gap> ConjugatorSpaceGroups( S1, S2 );
Error, List Element: <list>[1] must have an assigned value in
  Q := IdentityMat( Length( M[1] ) ); at /home/werner/.gap/pkg/cryst/gap/wyckoff.gi:319 called from 
SolveInhomEquationsModZ( M, t1 - t2, true ) at /home/werner/.gap/pkg/cryst/gap/equiv.gi:43 called from
ConjugatorSpaceGroupsStdSamePG( S1std, S3 ) at /home/werner/.gap/pkg/cryst/gap/equiv.gi:140 called from
<<compiled GAP code>> from GAPROOT/lib/oper1.g:1106 in function ConjugatorSpaceGroups  fallback method to test conditions called from
<<compiled GAP code>> from GAPROOT/lib/oper1.g:1106 in function ConjugatorSpaceGroups  fallback method to test conditions called from
ConjugatorSpaceGroups( S1tr, S2tr ) at /home/werner/.gap/pkg/cryst/gap/equiv.gi:159 called from
...  at *stdin*:621
type 'quit;' to quit to outer loop
brk> 

In this case, IsSpaceGroup gives true, but ConjugatorSpaceGroups fails to work.

Any tips for tackling such edge cases?

Regards, Zhao

gaehler commented 1 year ago

The problem comes from the trivial point group, which has an empty list of generators. I have added special treatment for this special case.