#17548: Partitions() is buggy
---------------------------------+---------------------------
       Reporter:  ferriszorro    |        Owner:  ferriszorro
           Type:  defect         |       Status:  needs_work
       Priority:  minor          |    Milestone:  sage-6.5
      Component:  combinatorics  |   Resolution:
       Keywords:  Partitions     |    Merged in:
        Authors:                 |    Reviewers:
Report Upstream:  N/A            |  Work issues:
         Branch:                 |       Commit:
   Dependencies:                 |     Stopgaps:  #17637
---------------------------------+---------------------------

Comment (by tscrim):

 Replying to [comment:25 vdelecroix]:
 > 1. Depending on the input, the floor is sometimes `0` and sometimes `1`:
 > {{{
 > #!python
 > sage: IntegerListsLex(5, length=3).list()               # ok: it is 0
 > [[5, 0, 0],
 >  [4, 1, 0],
 >  [4, 0, 1],
 > ...
 >  [0, 2, 3],
 >  [0, 1, 4],
 >  [0, 0, 5]]
 > sage: IntegerListsLex(5, length=3, max_slope=0).list()   # ok: it is 0
 > [[5, 0, 0], [4, 1, 0], [3, 2, 0], [3, 1, 1], [2, 2, 1]]
 > sage: IntegerListsLex(5, max_slope=0).list()             # now it is 1
 > [[5], [4, 1], [3, 2], [3, 1, 1], [2, 2, 1], [2, 1, 1, 1], [1, 1, 1, 1,
 1]]
 > }}}

 This is not a bug because this has trailing 0's and there is no way to
 have a non-trailing 0 in the last output. See this part of the
 documentation:
 {{{
 Two valid integer lists are considered equivalent if they only
 differ by trailing zeroes. In this case, only the list with the
 least number of trailing zeroes will be produced.
 }}}
 It's subtle, but again, not a bug.

 > 2. The iterator is sometimes completely wrong when the set is infinite:
 > {{{
 > #!python
 > sage: it = iter(IntegerListsLex(5))
 > sage: for _ in range(10): print it.next()
 > [5]
 > [4, 1]
 > [4, 0, 1]
 > [4, 0, 0, 1]
 > [4, 0, 0, 0, 1]
 > [4, 0, 0, 0, 0, 1]
 > [4, 0, 0, 0, 0, 0, 1]
 > [4, 0, 0, 0, 0, 0, 0, 1]
 > [4, 0, 0, 0, 0, 0, 0, 0, 1]
 > [4, 0, 0, 0, 0, 0, 0, 0, 0, 1]
 > }}}

 This is also not a bug because there are no other conditions on the lists
 and each of these are the next in lex ordering.

--
Ticket URL: <http://trac.sagemath.org/ticket/17548#comment:27>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to