Opened 10 years ago
Closed 10 years ago
#13238 closed enhancement (fixed)
add functionality for counting, generating, and manipulating non-negative integer matrices
Reported by: | Franco Saliola | Owned by: | Sage Combinat CC user |
---|---|---|---|
Priority: | major | Milestone: | sage-5.3 |
Component: | combinatorics | Keywords: | sd40, ncsf |
Cc: | Chris Berg | Merged in: | sage-5.3.beta0 |
Authors: | Franco Saliola | Reviewers: | Chris Berg |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
Counting, generating, and manipulating non-negative integer matrices with prescribed row sums and column sums.
An *integer matrix* `m` with column sums `c := (c_1,...,c_k)` and row sums `l := (l_1,...,l_n)` where `c_1+...+c_k` is equal to `l_1+...+l_n`, is a `n \times k` matrix `m = (m_{i,j})` such that `m_{1,j}+\dots+m_{n,j} = c_j`, for all `j` and `m_{i,1}+\dots+m_{i,k} = l_i`, for all `i`. EXAMPLES: There are `6` integer matrices with row sums `[3,2,2]` and column sums `[2,5]`:: sage: from sage.combinat.integer_matrices import IntegerMatrices sage: IM = IntegerMatrices([3,2,2], [2,5]); IM Non-negative integer matrices with row sums [3, 2, 2] and column sums [2, 5] sage: IM.list() [ [2 1] [1 2] [1 2] [0 3] [0 3] [0 3] [0 2] [1 1] [0 2] [2 0] [1 1] [0 2] [0 2], [0 2], [1 1], [0 2], [1 1], [2 0] ] sage: IM.cardinality() 6
Attachments (1)
Change History (5)
comment:1 Changed 10 years ago by
Summary: | Counting, generating, and manipulating non-negative integer matrices → add functionality for counting, generating, and manipulating non-negative integer matrices |
---|
comment:2 Changed 10 years ago by
Status: | new → needs_review |
---|
Changed 10 years ago by
Attachment: | trac_13238-integer_matrices-fs.patch added |
---|
comment:3 Changed 10 years ago by
Status: | needs_review → positive_review |
---|
comment:4 Changed 10 years ago by
Merged in: | → sage-5.3.beta0 |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
Note: See
TracTickets for help on using
tickets.