-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add SemidirectDecompositions and enhance/change StructureDescription #763
Merged
olexandr-konovalov
merged 11 commits into
gap-system:master
from
hungaborhorvath:SemidirectDecompositions
Dec 1, 2016
Merged
Add SemidirectDecompositions and enhance/change StructureDescription #763
olexandr-konovalov
merged 11 commits into
gap-system:master
from
hungaborhorvath:SemidirectDecompositions
Dec 1, 2016
Commits on Nov 29, 2016
-
Configuration menu - View commit details
-
Copy full SHA for e7c9f8c - Browse repository at this point
Copy the full SHA e7c9f8cView commit details -
Add SemidirectDecompositions and change StructureDescription
!!! WARNING !!! This changes the behaviour of StructureDescription compared to the previous state, which was inconsistent with the manual. SemidirectDecompositionsOfFiniteGroup is added. This computes all or some semidirect decompositions of a group. An optional second argument can be given as the normal subgroups for which complements should be sought. Complements for normal subgroups are found by ComplementClassesRepresentatives. Unfortunately, this does not work if both N and G/N are nonsolvable. Further, an optional argument "any" is recognized, when it should return only one nontrivial semidirect decomposition if exists and fail otherwise. This is mostly implemented by applying Schur-Zassenhaus by checking if any nontrivial normal Hall subgroups exist. Another optional argument "str" is recognized, when it does not necessarily compute the complement to the normal subgroup if Schur-Zassenhaus applies. The reason is that computing the complement might be expensive and for StructureDescription only the isomorphism type of the complement is interesting. SemidirectDecompositions is a new attribute, computing all semidirect decompositions. SemidirectFactorsOfGroup is removed completely. It computed all conjugacy classes of all subgroups and therefore was rather inefficient. Further, it did not compute _all_ semidirect decompositions, but only the ones with subgroups having the same size as the first subgroup having a normal complement. This yielded inconsistent behaviour with the manual, the smallest example for such a group was SmallGroup(504,7). StructureDescription now works for infinite abelian groups, as well. Further, for semidirect decompositions it calls SemidirectDecompositionsOfFiniteGroup with "str" argument. NOTE that if the group G has a nonsolvable normal subgroup N such that G/N is nonsolvable, as well, then ComplementClassesRepresentatives errors with "No method found", and thus so do SemidirectDecompositions and StructureDescription. Previously computations for such groups did not error with "No method found", but probably took a long time. gap-system#563 tries to remedy this using the old and inefficient method, however whether it should be merged or not is currently under debate. In the meantime, for such groups we throw an error. StructureDescription of groups having size at most 100 are recomputed, and the manual of StructureDescription is rewritten to match current behaviour. Tests are added. All lines of SemidirectDecompositions are run. Not all lines of StructureDescription are run, some examples for the missing lines should be found later. Tests are aligned with the new behaviour, and not the old one.
Configuration menu - View commit details
-
Copy full SHA for c3c33bd - Browse repository at this point
Copy the full SHA c3c33bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b1b2ba - Browse repository at this point
Copy the full SHA 6b1b2baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 01b73b8 - Browse repository at this point
Copy the full SHA 01b73b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for f797987 - Browse repository at this point
Copy the full SHA f797987View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f35f6b - Browse repository at this point
Copy the full SHA 1f35f6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c87c61 - Browse repository at this point
Copy the full SHA 9c87c61View commit details -
Configuration menu - View commit details
-
Copy full SHA for c53e762 - Browse repository at this point
Copy the full SHA c53e762View commit details -
Add option nice to StructureDescription
This commit adds the old documented behaviour of StructureDescription. If option nice is set, then all SemidirectDecompositions are computed and one [N,H] will be chosen by the old preferences, namely abelian H, abelian N with the most abelian invariants and the most direct factors, and with H acting faithfully on N.
Configuration menu - View commit details
-
Copy full SHA for 3b5dc57 - Browse repository at this point
Copy the full SHA 3b5dc57View commit details -
Make test files more resilient to StructureDescription
Further, grpnames.g contains the "nice" outputs of StructureDescription.
Configuration menu - View commit details
-
Copy full SHA for 28e740b - Browse repository at this point
Copy the full SHA 28e740bView commit details -
Enhance short option in StructureDescription
Now the option short works for infinite abelian groups. Further, it now recognizes nonprimepower duplicates, as well. E.g. the short StructureDescription for the group C6 x C6 is now 6^2.
Configuration menu - View commit details
-
Copy full SHA for 0ee8cf5 - Browse repository at this point
Copy the full SHA 0ee8cf5View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.