#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
Author: Nicolas M. ThiƩry | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
---------------------------------+------------------------------------------
Changes (by nthiery):
* status: new => needs_review
* type: defect => enhancement
* milestone: => sage-4.3.2
Old description:
> This patch:
>
> - Introduces two new categories, FiniteGroups and
> FinitePermutationGroups
> - Deprecates the class sage.groups.group.FiniteGroup
> (content moved to the FiniteGroups category; this is essentially
> the cayley_graph method)
> - Puts all permutation groups and most other finite groups in the
> corresponding categories
> - As a result, this standardizes the interface of those groups
> (cardinality, one, ...), and reveals lots of failures in the
> completely undocumented PariGroup (category not set properly yet)
> - Makes a minor improvement to FiniteEnumeratedSets tests for
> large finite enumerated sets
>
> Current (to be finalized patch) on:
> http://combinat.sagemath.org/hgwebdir.cgi/patches/file/tip/trac_8044
> -categories_finite_groups-nt.patch. Prereviews welcome!
New 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
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8044#comment:2>
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.