#8268: Improve speed of Christoffel word construction
-----------------------------+----------------------------------------------
   Reporter:  slabbe         |       Owner:  slabbe    
       Type:  enhancement    |      Status:  new       
   Priority:  major          |   Milestone:  sage-4.3.3
  Component:  combinatorics  |    Keywords:            
     Author:                 |    Upstream:  N/A       
   Reviewer:                 |      Merged:            
Work_issues:                 |  
-----------------------------+----------------------------------------------
 This patch adds a new implementation for construction of Christoffel words
 using continued fraction :

 {{{
 sage: %timeit words.ChristoffelWord(5, 9, algorithm='linear')
 625 loops, best of 3: 67.7 µs per loop
 sage: %timeit words.ChristoffelWord(5, 9, algorithm='cf')
 625 loops, best of 3: 309 µs per loop
 }}}

 For large words, it is much faster than the actual implementation.

 {{{
 sage: %timeit words.ChristoffelWord(500, 90001, algorithm='linear')
 5 loops, best of 3: 111 ms per loop
 sage: %timeit words.ChristoffelWord(500, 90001, algorithm='cf')
 125 loops, best of 3: 4 ms per loop
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8268>
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.

Reply via email to