Ticket #10630 (new enhancement)

Opened 2 years ago

Last modified 23 months ago

Add a multi-partition implementation to sage

Reported by: pabryan Owned by: pabryan
Priority: minor Milestone: sage-5.11
Component: combinatorics Keywords: multipartition multi-partition multi-partite multipartite partition
Cc: Work issues:
Report Upstream: N/A Reviewers:
Authors: Paul Bryan Merged in:
Dependencies: Stopgaps:

Description

As discussed here[1], multi-partitions would be a useful addition to sage. I have an initial implementation soon to be uploaded.

[1]  http://groups.google.com/group/sage-combinat-devel/browse_thread/thread/aefcc71ad217d023/439360dc6b2641c5

Attachments

trac_10630_multi_partitions.patch Download (31.3 KB) - added by pabryan 2 years ago.
Implementation of multi-partitions

Change History

comment:1 Changed 2 years ago by pabryan

  • Authors changed from pabryan to Paul Bryan

Changed 2 years ago by pabryan

Implementation of multi-partitions

comment:2 Changed 23 months ago by ebriand

Some comments:

  • The functions for multipartitions do not seem to work correctly. Here is an incorrect (incomplete) result:
 
M=MultiPartitions([2,2])
for x in M.list(): print x
[[2, 2]]
[[1, 2], [1, 0]]
[[2, 1], [0, 1]]
[[1, 0], [1, 0], [0, 2]]
[[1, 1], [1, 0], [0, 1]]
[[2, 0], [0, 1], [0, 1]]
[[1, 0], [1, 0], [0, 1], [0, 1]]

Two multipartitions are missed: [[1,1],[1,1]] and [[2,0],[0,2]]

  • Should one represent the Multipartitions as lists of vectors with integer coordinates rather than lists of lists ? (because sometimes one has to do the sum of the parts).
  • A few typos:
    • Line 6 of the file: "the" should not be repeated.
    • Line 9 of the file: replace "it's" with "its".
    • Line 63 of the file: replace "lexicographically order integer lists" with "lexicographically weakly decreasing lists of integers" or something better.
    • Also, one might replace the definition of multipartition as "equivalence class of tuples" (lines 4 to 10) with "multiset of tuples".
Note: See TracTickets for help on using tickets.