Hey everyone,
   I've been trying to figure out how to handle generalized 
permutations (a.k.a. two-line arrays, bi-words, ...) since we want 
Permutation() to only accept input from 1 to n. In particular, in a clean 
5.5.rc0, the permutations code will perform RSK (and the inverse) on 
one-line arrays with a standard recording tableau. Currently 
trac_8392-check_permutation-ts.patch tweaks the inverse to return a 
generalized permutation, however I would like to know how I should go about 
structuring these classes? Here's my current thoughts:
- Create a class Biword which is just two finite words of the same length.
- Create a class GeneralizedPermutation which inherits from Biword and will 
check necessary conditions (e.g. support is a totally ordered alphabet, 
weakly increasing in top row, etc.).
- Refactor Permutation_class so that it inherits from Finite_word (I've 
talked about this with Anne, and she was favorable to this).
- Have a coercion map from Word (or Permutation) to GeneralizedPermutation
- Implement the various RSK functions in respective classes.
- Some abstract class which holds methods common to GeneralizedPermutation 
and Permutation.

Thanks,
Travis

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sage-combinat-devel/-/NxsqM8qs4-IJ.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to