Skip to content
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

Commits on Nov 29, 2016

  1. Configuration menu
    Copy the full SHA
    e7c9f8c View commit details
    Browse the repository at this point in the history
  2. 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.
    hungaborhorvath committed Nov 29, 2016
    Configuration menu
    Copy the full SHA
    c3c33bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6b1b2ba View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    01b73b8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f797987 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1f35f6b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9c87c61 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c53e762 View commit details
    Browse the repository at this point in the history
  9. 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.
    hungaborhorvath committed Nov 29, 2016
    Configuration menu
    Copy the full SHA
    3b5dc57 View commit details
    Browse the repository at this point in the history
  10. Make test files more resilient to StructureDescription

    Further, grpnames.g contains the "nice" outputs of StructureDescription.
    hungaborhorvath committed Nov 29, 2016
    Configuration menu
    Copy the full SHA
    28e740b View commit details
    Browse the repository at this point in the history
  11. 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.
    hungaborhorvath committed Nov 29, 2016
    Configuration menu
    Copy the full SHA
    0ee8cf5 View commit details
    Browse the repository at this point in the history