Closed hongyi-zhao closed 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.
IsSpaceGroup
true
ConjugatorSpaceGroups
Any tips for tackling such edge cases?
Regards, Zhao
The problem comes from the trivial point group, which has an empty list of generators. I have added special treatment for this special case.
See my following testing:
In this case,
IsSpaceGroup
givestrue
, butConjugatorSpaceGroups
fails to work.Any tips for tackling such edge cases?
Regards, Zhao