#8044: Categories for finite/permutation/symmetric groups
---------------------------------+------------------------------------------
   Reporter:  nthiery            |       Owner:  nthiery                        
                    
       Type:  enhancement        |      Status:  needs_review                   
                    
   Priority:  major              |   Milestone:  sage-4.3.2                     
                    
  Component:  group_theory       |    Keywords:  Finite groups, permutation 
groups, symmetric groups
     Author:  Nicolas M. ThiƩry  |    Upstream:  N/A                            
                    
   Reviewer:                     |      Merged:                                 
                    
Work_issues:                     |  
---------------------------------+------------------------------------------
Description changed by nthiery:

Old description:

> This patch:
>
>  - Introduces two new categories: FiniteGroups and
> FinitePermutationGroups
>  - As a result, this standardizes the interface of those groups
>    (cardinality, one, ...).
>
>  - Puts all permutation groups and some other finite groups in the
>    corresponding categories. There remains to handle finite matrix
>    groups and Galois groups in sage/rings/number_field/.
>
>  - Deprecates the class sage.groups.group.FiniteGroup. Content moved
>    to the FiniteGroups category; this was essentially the cayley_graph
>
>  - Merges cayley_graph with that for FiniteSemigroups. In the merging,
>    ``connecting_set`` was deprecated to ``generators``. Also providing
>    a single element by itself as connecting set is no more supported.
>    Finally the default is side = "right" (was "twosided" for
>    semigroups). This method is also generalized to Semigroups with an
>    ``elements`` option (should this be vertices?).
>
>    Why do we care about the produced graph using implementation =
> "networkx"?
>    I would tend to remove this implementation detail; this would
>    change the order of the edges, which requires fixing a test in
>    sage.graphs.generic_graphs
>
>  - Provides group_generators defined from gens, as well as
>    semigroup_generators defined from group_generators in the finite
>    and coxeter cases.
>
>  - Also puts the SymmetricGroup in the FiniteWeylGroups category.
>    Beware: unusual product convention
>    Beware: this changes the generators to the standard Weyl group
>    generators, that is the elementary transpositions
>  - Adds an has_descent method to permutation group elements
>
>  - Make all named permutation groups have UniqueRepresentation
>  - Questionable: the underlying set of an alternating or symmetric
>    group is now a tuple. This is safer and helps UniqueRepresentation.
>    However, this could break backward compatibility.  Also, maybe we
>    want to keep the output as SymmetricGroup([1,3,4])?
>
>  - Makes more systematic use of TestSuite(...).run()
>  - Makes a minor improvement to FiniteEnumeratedSets tests for
>    large finite enumerated sets
>  - Strips away unused imports
>  - Updates a couple doctests here and there

New description:

 This patch:

  * Introduces two new categories: FiniteGroups and FinitePermutationGroups

  * Puts all permutation groups and some other finite groups in the
 corresponding categories. There remains to handle finite matrix groups and
 Galois groups in sage/rings/number_field/.

  * As a result, this standardizes the interface of those groups
 (cardinality, one, ...).

  * Deprecates the class sage.groups.group.[wiki:FiniteGroup]. Content
 moved to the FiniteGroups category; this was essentially the cayley_graph

  * Merges cayley_graph with that for FiniteSemigroups. In the merging,
 connecting_set was deprecated to generators. Also providing a single
 element by itself as connecting set is no more supported. Finally the
 default is side = "right" (was "twosided" for semigroups). This method is
 also generalized to Semigroups with an elements option (should this be
 vertices?).

   Why do we care about the produced graph using implementation =
 "networkx"? I would tend to remove this implementation detail; this would
 change the order of the edges, which requires fixing a test in
 sage.graphs.generic_graphs

  * Provides group_generators defined from gens, as well as
 semigroup_generators defined from group_generators in the finite and
 coxeter cases.

  * Also puts the SymmetricGroup in the FiniteWeylGroups category. Beware:
 unusual product convention Beware: this changes the generators to the
 standard Weyl group generators, that is the elementary transpositions
  * Adds an has_descent method to permutation group elements

  * Make all named permutation groups have UniqueRepresentation
  * Questionable: the underlying set of an alternating or symmetric group
 is now a tuple. This is safer and helps UniqueRepresentation. However,
 this could break backward compatibility.  Also, maybe we want to keep the
 output as SymmetricGroup([1,3,4])?

  * Makes more systematic use of TestSuite(...).run()
  * Makes a minor improvement to FiniteEnumeratedSets tests for large
 finite enumerated sets
  * Strips away unused imports
  * Updates a couple doctests here and there

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8044#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to