Opened 7 years ago

Last modified 5 years ago

#14127 new enhancement

class for rook boards (Young shapes, diagram of a permutation)

Reported by: ahmorales Owned by: ahmorales
Priority: trivial Milestone: sage-6.4
Component: combinatorics Keywords: days45, rook placement, Rothe diagram, Young diagram, Le diagram
Cc: Merged in:
Authors: ahmorales Reviewers: chrisjamesberg
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:


Add a class for a Board (subset of entries in [0,1,..,r-1] x [0,1,...,s-1] ). Examples are

  • Straight shape
  • Skew shape
  • Diagram of a permutation
  • Hulls of permutations

And procedures to generate:

  • placements of non-attacking rooks
  • Le diagrams.


  • Richard Stanley, Enumerative Combinatorics, Volume 1, 2nd Edition, Ch. 2.3
  • Laurent Manivel, Symmetric Functions, Schubert polynomials and Degeneraci Loci, Ch. 2.
  • Sjostrand, J. Bruhat intervals as rooks on skew Ferrers boards, J. Combin. Theory Ser. A, 2007, 114, 7, 1182-1198

Change History (5)

comment:1 Changed 7 years ago by jhpalmieri

You should make sure to provide an interface to simplicial_complexes.ChessboardComplex(r,s): your Board class could have a simplicial_complex method (or something similar) which returns the complex. Actually, you could do this:

    def _simplicial_(self):
        Return simplicial complex version of ...
        from sage.homology.examples import simplicial_complexes
        return simplicial_complexes.ChessboardComplex(self.r, self.s)  # or whatever

    simplicial_complex = _simplicial_

The point behind having a _simplicial_ method is that if B is an instance of the Board class, you can then call SimplicialComplex(B) and it will call this method.

You also might be able to improve the implementation of the ChessboardComplex or the matching function in the same file, and that would be greatly appreciated.

Edit: I guess the _simplicial_ method would be more appropriate on the class of all Boards, not for a single board. Anyway...

Last edited 7 years ago by jhpalmieri (previous) (diff)

comment:2 Changed 6 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

comment:3 Changed 6 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:4 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:5 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.