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

The incorrect logic implemented in ConjugatorSpaceGroupsStdSamePG and ConjugatorSpaceGroups. #38

Closed hongyi-zhao closed 1 year ago

hongyi-zhao commented 1 year ago

According to the Bieberbach's theorem II, the last fail used in ConjugatorSpaceGroupsStdSamePG and ConjugatorSpaceGroups are impossible to happen:

https://github.com/gap-packages/cryst/blob/5cbd84c517d8030eecb52026667fd725f14d53a0/gap/equiv.gi#L74 https://github.com/gap-packages/cryst/blob/5cbd84c517d8030eecb52026667fd725f14d53a0/gap/equiv.gi#L143

In short: If the implemented algorithm is complete, then when it reaches the last step for two space groups, they must be isomorphic. Therefore, the algorithm should not include any statements related to fail at the end.

hongyi-zhao commented 1 year ago

There is no problem with my theoretical description. But the analysis of program logic is incorrect.

If we have reached the end of the algorithm, it means that S1 and S2 must belong to different space group types. So, the last fail is necessary.