Opened 5 years ago

Closed 5 years ago

#16234 closed enhancement (fixed)

Assorted fixes and optimizations in sage-combinat (mostly partitions and tableaux)

Reported by: darij Owned by:
Priority: major Milestone: sage-6.4
Component: combinatorics Keywords: combinat, tableaux, partitions, findstat, documentation, integer_list, mutability
Cc: jessicapalencia, tscrim, aschilling, sage-combinat, stumpc5, VivianePons, nthiery, gchatel Merged in:
Authors: Darij Grinberg Reviewers: Viviane Pons
Report Upstream: N/A Work issues:
Branch: be05e3c (Commits) Commit: be05e3c425f97b94cb07aae5e83e5a04a12ea58e
Dependencies: Stopgaps:

Description (last modified by darij)

  • Improve documentation of promotion operators (there are three of them in Sage) on SSYTs.
  • Add doc to Lascoux-Schützenberger action on tableaux.
  • Add a few more @combinatorial_map decorators on tableaux, partitions, posets.
  • Fix doc of the Greene-Kleitman partition method on finite posets.
  • Speed up is_column_strict and three further methods on tableaux. PSA: don't use copy.deepcopy unless you really don't know the internal structure of the objects you are copying.
  • Fix a bug in the iterator of Partitions(..., outer=a) that caused a to be mutated occasionally, and that required a to be a list (as opposed to, more reasonably, a partition or tuple):
    sage: a = [4,2,1,1,1,1,1]
    sage: for p in Partitions(8, outer=a, min_slope=-1):
        print p
    ....:     
    [3, 2, 1, 1, 1]
    [2, 2, 1, 1, 1, 1]
    [2, 1, 1, 1, 1, 1, 1]
    sage: a
    [3, 2, 1, 1, 1, 1, 1]
    

Change History (16)

comment:1 Changed 5 years ago by darij

  • Status changed from new to needs_review

comment:2 Changed 5 years ago by darij

  • Component changed from PLEASE CHANGE to combinatorics

comment:3 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:4 Changed 5 years ago by darij

  • Cc stumpc5 VivianePons added

comment:5 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:6 Changed 5 years ago by git

  • Commit changed from 462e427a6c0f3a45d15d08f4630cc981b3609102 to c9d051fe916310d5dcfefe691193b5d44a9f9870

Branch pushed to git repo; I updated commit sha1. New commits:

3f7cec5Merge branch 'public/combinat/tableaux-et-al-doc' of git://trac.sagemath.org/sage into morestat
c9d051fminor improvements to semistandardness testing

comment:7 Changed 5 years ago by git

  • Commit changed from c9d051fe916310d5dcfefe691193b5d44a9f9870 to 045ada00385e37ac746b7320388d13c2e0d9d5a2

Branch pushed to git repo; I updated commit sha1. New commits:

dd76d7dfloor and ceiling mutability for integer lists fixed
045ada0remove deprecated and hideously confusing list function

comment:8 Changed 5 years ago by darij

  • Cc nthiery added
  • Description modified (diff)
  • Keywords integer_list mutability added
  • Summary changed from Some doc improvements and optimizations in sage-combinat (mostly tableaux) to Assorted fixes optimizations in sage-combinat (mostly partitions and tableaux)

comment:9 Changed 5 years ago by darij

  • Summary changed from Assorted fixes optimizations in sage-combinat (mostly partitions and tableaux) to Assorted fixes and optimizations in sage-combinat (mostly partitions and tableaux)

comment:10 Changed 5 years ago by VivianePons

  • Status changed from needs_review to needs_work

Hi Darij, thank you very much for this work!

There is something wrong with the documentation of symmetric_group_action_on_values. I must say that I didn't know this operation, so I don't know its definition. But from the code, it seems that your documentation doesn't quite correspond to what is done in the code. When you write this:

        Then, let `a` be the number of opening
        parentheses in the word, and `b` the number of closing
        parentheses (notice that all opening parentheses are left of
        all closing parentheses). Replace the first `b` parentheses
        by the letters `i+1`, and replace the remaining `a` parentheses
        by the letters `i`.

Indeed, the action of s_1 on [[1,2]] should give [[2,1]] which is not a semi-standard tableau... (you obtain the unmatched parenthesizes )(). The code answers [[1,2]], I must say that it is quite obscure and I don't understand what they're doing. But obviously, the documentation does not explain it correctly. Do you have the paper reference where this operation is described?

Apart from that, it seems good to me.

comment:11 Changed 5 years ago by VivianePons

  • Cc gchatel added

comment:12 Changed 5 years ago by git

  • Commit changed from 045ada00385e37ac746b7320388d13c2e0d9d5a2 to be05e3c425f97b94cb07aae5e83e5a04a12ea58e

Branch pushed to git repo; I updated commit sha1. New commits:

be05e3cfix the documentation blunder Viviane found

comment:13 Changed 5 years ago by darij

  • Status changed from needs_work to needs_review

Thank you -- this should be fixed now.

comment:14 Changed 5 years ago by VivianePons

  • Reviewers set to Viviane Pons
  • Status changed from needs_review to positive_review

Well, this is mostly doc improvement. I read everything and it seems quite fine for me. I run the tests on every changed files and built the documentation.

comment:15 Changed 5 years ago by darij

Thanks for the review!

comment:16 Changed 5 years ago by vbraun

  • Branch changed from public/combinat/tableaux-et-al-doc to be05e3c425f97b94cb07aae5e83e5a04a12ea58e
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.