#12454: A draw_rauzy_fractal method for WordMorphism
----------------------------------------------------------------------+-----
       Reporter:  tjolivet                                            |         
Owner:  sage-combinat    
           Type:  enhancement                                         |        
Status:  needs_review     
       Priority:  major                                               |     
Milestone:  sage-5.3         
      Component:  combinatorics                                       |    
Resolution:                   
       Keywords:  rauzy fractal, substitution, word morphism, lounge  |   Work 
issues:                   
Report Upstream:  N/A                                                 |     
Reviewers:  Vincent Delecroix
        Authors:  Timo Jolivet                                        |     
Merged in:                   
   Dependencies:                                                      |      
Stopgaps:                   
----------------------------------------------------------------------+-----

Comment (by slabbe):

 I am ready to give positive review provided the three following things are
 satisfied :

  - doctest timing do not take too much longer than before
  - documentation issue are fixed (done in my first review patch)
  - method {{{rauzy_fractal_points}}} is split into two (done in my second
 review patch)

 ... and of course if Timo and others agree with my patches.

 Indeed,

 1. Testing the file {{{morphism.py}}} now takes way more time than before.
 I think {{{sage -t sage_library_file.py}}} should run in 10s and {{{sage
 -t -long -optional sage_library_file.py}}} in no more than 40 seconds
 (these are my standards, I don't know if there exist any in the Sage
 Developper Guide). Instead of drawing 10000 points, you can draw 100
 points for the doctests. If you want to keep those doctests interesting
 for the user, you may add {{{#not tested takes > 3 seconds}}}. Or, you can
 add a remark at the beginning of the examples saying the value {{{n=100}}}
 below is low for doctests purposes, larger values of n can be given by the
 user.

 BEFORE:

 {{{
  $ sage-5.2.rc0 -t morphism.py
 sage -t  "devel/sage-main/sage/combinat/words/morphism.py"
          [4.4 s]

 ----------------------------------------------------------------------
 All tests passed!
 Total time for all tests: 4.4 seconds
  $ sage-5.2.rc0 -t -long -optional morphism.py
 sage -t -long -optional "devel/sage-main/sage/combinat/words/morphism.py"
          [6.6 s]

 ----------------------------------------------------------------------
 All tests passed!
 Total time for all tests: 6.6 seconds
 }}}

 AFTER:

 {{{
  $ sage-5.2.rc0 -t morphism.py
 sage -t  "devel/sage-main/sage/combinat/words/morphism.py"
          [30.4 s]

 ----------------------------------------------------------------------
 All tests passed!
 Total time for all tests: 30.4 seconds

 $ sage-5.2.rc0 -t -long -optional morphism.py
 sage -t -long -optional "devel/sage-main/sage/combinat/words/morphism.py"
          [255.9 s]

 ----------------------------------------------------------------------
 All tests passed!
 Total time for all tests: 256.0 seconds
 }}}

 2. I uploaded two patches which applies on top of Timo's one. The first
 fixes some documentation issues.

 3. The second patch splits the method {{{rauzy_fractal_points}}} into two.
 As I already explained verbaly to Timo, I dislike the idea of having
 output types (dict vs 2-tuple of dict) depending on the input. Instead I
 propose to split the method into two and doing it made me realize that the
 second output only depends on two of the inputs. So, now the user can
 obtain this output without generating points and by providing only the
 necessary two inputs.

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