#15174: Permutations and symmetric group algebra: Stopgap for #14885 and
noninversions
-------------------------------------------------+-------------------------
       Reporter:  darij                          |        Owner:
           Type:  defect                         |       Status:
       Priority:  major                          |  needs_review
      Component:  combinatorics                  |    Milestone:  sage-5.12
       Keywords:  permutation, permutation       |   Resolution:
  group, symmetric group, sage-combinat, groups  |    Merged in:
        Authors:  Darij Grinberg                 |    Reviewers:
Report Upstream:  N/A                            |  Work issues:
         Branch:                                 |       Commit:
   Dependencies:  #15170                         |     Stopgaps:
-------------------------------------------------+-------------------------
Changes (by darij):

 * status:  new => needs_review


Old description:

> This patch does the following:
>
> * Open up a way to circumvent the (in the opinion of several people)
> broken multiplication of permutations (see #14885 and
> https://groups.google.com/forum/#!searchin/sage-devel/permutations/sage-
> devel/tAAb42Edh9o/T-htA50IOZEJ ). To remind, the issue is twofold: first,
> the default order in which Sage multiplies permutation is rather unusual
> to anyone not from the English school of notation; second, the order
> depends on a global variable which can be changed at runtime, which makes
> it unpredictable and a pain to rely on. I don't address the first of
> these issues in my patch, but I ameliorate the second one: There are now
> global-independent methods {{{left_action_product}}} and
> {{{right_action_product}}} on permutations (these are just aliases for
> the already existing methods {{{_left_to_right_multiply_on_left}}} and
> {{{_left_to_right_multiply_on_right}}}, but are now documented and non-
> underscored; besides I hope that my names are clearer), and more
> importantly on symmetric group algebras (these are not just aliases
> anymore; the only multiplication method which we used to have on
> symmetric group algebras dependent on the global). These can be used
> instead of the badly predictable {{{*}}} operator (they're even a bit
> faster by virtue of not branching on the global variable).
>
> * Improve doc at a few places in {{{combinat/permutation.py}}} and
> {{{combinat/symmetric_group_algebra.py}}}. These are minor, but
> constitude most of the size of the patch.
>
> * Add methods related to the Reiner-Saliola-Welker conjectures: The
> number of noninversions of a permutation; the antipode of the symmetric
> group algebra; the Reiner-Saliola-Welker shuffling operators (as elements
> of symmetric group algebras); and some elements which can be used to
> factor the latter.

New description:

 This patch does the following:

 * Open up a way to circumvent the (in the opinion of several people)
 broken multiplication of permutations (see #14885 and
 https://groups.google.com/forum/#!searchin/sage-devel/permutations/sage-
 devel/tAAb42Edh9o/T-htA50IOZEJ ). To remind, the issue is twofold: first,
 the default order in which Sage multiplies permutations is rather unusual
 to anyone not from the English school of notation; second, the order
 depends on a global variable which can be changed at runtime, which makes
 it unpredictable and a pain to rely on. I don't address the first of these
 issues in my patch, but I ameliorate the second one: There are now global-
 independent methods {{{left_action_product}}} and
 {{{right_action_product}}} on permutations (these are just aliases for the
 already existing methods {{{_left_to_right_multiply_on_left}}} and
 {{{_left_to_right_multiply_on_right}}}, but are now documented and non-
 underscored; besides I hope that my names are clearer), and more
 importantly on symmetric group algebras (these are not just aliases
 anymore; the only multiplication method which we used to have on symmetric
 group algebras depended on the global). These can be used instead of the
 badly predictable {{{*}}} operator (they're even a bit faster by virtue of
 not branching on the global variable).

 * Improve documentation at a few places in {{{combinat/permutation.py}}}
 and {{{combinat/symmetric_group_algebra.py}}}. These are minor fixes, but
 constitute most of the size of the patch.

 * Add methods related to the Reiner-Saliola-Welker conjectures: The number
 of noninversions of a permutation; the antipode of the symmetric group
 algebra; the Reiner-Saliola-Welker shuffling operators (as elements of
 symmetric group algebras); and some elements which can be used to factor
 the latter.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/15174#comment:1>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to