Ticket #8044 (closed enhancement: fixed)
Categories for finite/permutation/symmetric groups
| Reported by: | nthiery | Owned by: | nthiery |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.3.3 |
| Component: | group theory | Keywords: | Finite groups, permutation groups, symmetric groups |
| Cc: | sage-combinat, vengoroso@… | Author(s): | Nicolas M. Thiéry |
| Report Upstream: | N/A | Reviewer(s): | David Joyner, Javier López Peña |
| Merged in: | sage-4.3.3.alpha0 | Work issues: |
Description (last modified by nthiery) (diff)
This patch:
- Introduces two new categories: FiniteGroups? and FinitePermutationGroups?
- As a result, this standardizes the interface of those groups (cardinality, one, ...).
- Puts all pari, permutation, and matrix groups in the corresponding categories. There remains to handle Galois groups in sage/rings/number_field/.
- Deprecates the abstract class sage.groups.group.FiniteGroup?. Content moved to the FiniteGroups? category (see cayley_graph). It is not used anymore anywhere in Sage's library.
- Merges cayley_graph with that for FiniteSemigroups?:
- Generalization to any Semigroups with an elements option (should this be vertices?) to handle large/infinite semigroups
- The call:
sage: G.cayley_graph(connecting_set = [a,b,c])
is deprecated in favor of:
sage: G.cayley_graph(generators = [a,b,c])
- The following feature is removed:
sage: G.cayley_graph(connecting_set = a)
- side = "right" is now the default (was "twosided" for semigroups).
- Removed forcing implementation = "networkx" in the produced graph. Note: this changed the order of the edges, which required fixing a test in sage.graphs.generic_graphs (color_by_label)
- Adds cool examples of Cayley graphs plots, courtesy of Sebastien Labbe
- Provides group_generators defined from gens, as well as semigroup_generators defined from group_generators in the finite and coxeter cases.
- Puts the SymmetricGroup? in the FiniteWeylGroups? category. Beware: as all Sage's permutation groups, this uses GAP's product convention coming from left-to-right composition of permutations, which can be surprising for combinatorists. Beware: the generators of SymmetricGroup?(n) are now its canonical Weyl group generators, namely the elementary transpositions
- Adds an has_descent method to permutation group elements
- Makes all named permutation groups, as well as GL and SL have UniqueRepresentation?,
- Makes more systematic use of TestSuite?(...).run()
- Makes a minor improvement to FiniteEnumeratedSets? tests for large finite enumerated sets
- Strips away some unused imports
- Updates a couple doctests here and there
Further debatable changes:
- 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, the repr is now of the form SymmetricGroup?((1,3,4)) instead of SymmetricGroup?([1,3,4]).
- Due to the switch to UniqueRepresentation?, with:
sage: F = GF(3); MS = MatrixSpace?(F,2,2) sage: gens = [MS([[0,1],[1,0]]),MS([[1,1],[0,1]])] sage: G = MatrixGroup?(gens) sage: H = GL(2,F)
the following equality test fails:
sage: H == G True
Do we really want this feature? If yes, than the equality test inherited from UniqueRepresentation? will have to be fixed.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

