-
-
Notifications
You must be signed in to change notification settings - Fork 673
Description
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 (seecayley_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)
- Generalization to any Semigroups with an
-
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.
CC: @sagetrac-sage-combinat [email protected]
Component: group theory
Keywords: Finite groups, permutation groups, symmetric groups
Author: Nicolas M. Thiéry
Reviewer: David Joyner, Javier López Peña
Merged: sage-4.3.3.alpha0
Issue created by migration from https://trac.sagemath.org/ticket/8044