#7301: Gale Ryser theorem
-----------------------------+----------------------------------------------
Reporter: ncohen | Owner: mhansen
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.3.1
Component: combinatorics | Keywords:
Work_issues: | Author:
Upstream: N/A | Reviewer:
Merged: |
-----------------------------+----------------------------------------------
Changes (by ncohen):
* status: needs_work => needs_review
Comment:
New version, after some emails exchanged :
* The function is_gale_ryser does not apply only to "partitions"
anymore, but to any sequence of integers. The purpose of the
Gale-Ryser theorem is to answer whether there exists a matrix with the
given row/column sums, which has nothing to do with Partitions, or
decreasings orders, or zeros, or anything else -- just positive
values. The function is_gale ryser only takes two integer lists as its
arguments, and answers yes if there exists a matrix satisfying the
constraints.
* There is a new section ALGORITHM in is_gale_ryser
* Various fixes in the docstrings
* gale_ryser_theorem has been slightly modified to accept unordered
sequences, and zeros. It involves marking a sorted copy of the list
without the zeros, using the algorithm you implemented, then add the
empty rows/columns and apply the reverse of the permutation applied by
the sorting.
* Your comments made me think again about this definition inside a
definition.... In the end I got convinced it was a very ugly way to
code and do not intend to say anything about it again :-)
Nathann
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7301#comment:32>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.