#8392: Implement RSK for generalized permutations
-------------------------------------+-------------------------------------
       Reporter:  nborie             |        Owner:  tscrim
           Type:  enhancement        |       Status:  closed
       Priority:  major              |    Milestone:  sage-5.11
      Component:  combinatorics      |   Resolution:  fixed
       Keywords:  permutation,       |    Merged in:  sage-5.11.beta0
  check, days38, days45              |    Reviewers:  Jeff Ferreira, Darij
        Authors:  Travis Scrimshaw   |  Grinberg
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
   Dependencies:  #6495, #13605,     |     Stopgaps:
  #8703, #14459, #14319, #14302      |
-------------------------------------+-------------------------------------

Comment (by aschilling):

 Hi Travis,

 Replying to [comment:41 tscrim]:
 > If we wanted to be fully OOP, then there needs to be a class of
 something like `RSKUsable` which has an abstract method `RSK()` where each
 type of object implements it's own version of RSK and `RSKUsable` would
 implement the row-insertion procedure. The problem with this is that we
 want to be able to handle (pairs of) lists, which we can't modify its
 class structure and I don't want to have to wrap a list as a word, and I
 also don't want to clutter up the MRO. Another reason why this is better
 as a function is most of the operation is independent of the type of
 object being passed in; all it does is it converts it into a pair of lists
 of the same size. Thus it provides a uniform interface for objects, and
 the fact that only permutations has such a method conflicts with this, so
 I think it is worthwhile to deprecate this.

 If a user makes a permutation p, it would be natural to try p.<tab
 completion> to see all methods. Currently p.robinson_schensted() works and
 it is the most natural entry point. There is no reason to deprecate this
 method, it can just be a one-line function returning RSK(p).

 > > - Also, I disagree with importing {{{RSK, RSK_inverse,
 RobinsonSchenstedKnuth, RobinsonSchenstedKnuth_inverse}}} into the global
 namespace when one object could easily handle all of these.
 >
 > Then what is your proposed interface?

 Couldn't you just use options for the inverse?

 > > The ability of doing RSK and EG is a great feature, but the
 documentation isn't very clear. What is [3,3,2] mean with EG insertion?
 Since it isn't a reduced word, how should this be interpreted?
 >
 > The documentation could use some expansion.

 Right now it is not clear at all that the input to the Edelman-Greene
 correspondence are reduced words. Also, if you want to put all insertion
 algorithms in one method, it might be better to call it
 insertion_algorithms rather than RSK since RSK is just one of them and I
 as a user would not think that Edelman-Greene would be under RSK. Or you
 should have Edelman-Greene as a different method. Plus the documentation
 definitely needs more details! At least you need to explain what the input
 is with the various options.

 Best,

 Anne

--
Ticket URL: <http://trac.sagemath.org/ticket/8392#comment:42>
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