#18025: SkewTableau.rectify() optimization
-------------------------------------+-------------------------------------
       Reporter:  MariaMonks         |        Owner:
           Type:  defect             |       Status:  new
       Priority:  major              |    Milestone:  sage-6.6
      Component:  combinatorics      |   Resolution:
       Keywords:  days64, tableau    |    Merged in:
        Authors:                     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/opechenik/skew_rectify           |  23e2b43f9f7112d3c4cfe4f22712db883f56b3d2
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by opechenik):

 * commit:   => 23e2b43f9f7112d3c4cfe4f22712db883f56b3d2


Comment:

 Seems to guess the better algorithm in most cases. Examples below. Speed-
 ups range from minimal to more than an order of magnitude.

 sage: T = SkewTableau([[None, None, 3, 7],[1,2,4],[5,6,7]])
 sage: %timeit T.rectify()
 1000 loops, best of 3: 505 µs per loop
 sage: %timeit T.rectify(force='jdt')
 1000 loops, best of 3: 501 µs per loop
 sage: %timeit T.rectify(force='schensted')
 1000 loops, best of 3: 685 µs per loop

 sage: U = SkewTableau([[None, None, None, 3,4],[None, None, 1], [None, 2],
 [1,5]])
 sage: %timeit U.rectify()
 1000 loops, best of 3: 619 µs per loop
 sage: %timeit U.rectify(force='jdt')
 1000 loops, best of 3: 1.04 ms per loop
 sage: %timeit U.rectify(force='schensted')
 1000 loops, best of 3: 615 µs per loop

 sage: V = SkewTableau([[None for i in range(5)]]* 7 + [[None, None, None,
 None, 1]])
 sage: %timeit V.rectify()
 1000 loops, best of 3: 438 µs per loop
 sage: %timeit V.rectify(force='jdt')
 100 loops, best of 3: 7.17 ms per loop
 sage: %timeit V.rectify(force='schensted')
 1000 loops, best of 3: 441 µs per loop
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=ba6d80f844a11b373c09198192272fed6a72de9d
 ba6d80f]||{{{skew rectification optimization!}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=edd9806f5e97fbbdac990484b22cbed4d269eab8
 edd9806]||{{{Merge branch 'develop' into t/18025/skew_rectify}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=23e2b43f9f7112d3c4cfe4f22712db883f56b3d2
 23e2b43]||{{{Fixed bug in guessing code and slightly modified guessing
 algorithm to favor Schensted}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/18025#comment:3>
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