#16812: use FLINT to speed up Chebyshev T polynomial creation
-------------------------------------+-------------------------------------
       Reporter:  rws                |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.4
      Component:  symbolics          |   Resolution:
       Keywords:  flint, speedup     |    Merged in:
        Authors:  Ralf Stephan       |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/rws/use_flint_to_speed_up_chebyshev_t_polynomial_creation|  
61972b5574632e914e178fe211062d0dd0e35b87
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by rws):

 On another note, the behaviour of the function up to this is unexpectedly
 complicated and not documented. Given integer n, if the second argument is
 symbolic then if `n<32` a formula is applied else the recursive algorithm.
 With this ticket, additionally polynomials are handled with FLINT (modulo
 the refinements discussed).

 Now, I have a patch ready for an `algorithm` keyword
 (`flint`/`recursive`). Also, I want to remove that `n<32` bit together
 with the `eval_formula` method that really is no longer necessary now we
 have FLINT. It also leads to such inconsistencies as
 {{{
             sage: var('n,x')
             (n, x)
             sage: chebyshev_T(5,x)
             16*x^5 - 20*x^3 + 5*x
             sage: chebyshev_T(64, x)
             2*(2*(2*(2*(2*(2*x^2 - 1)^2 - 1)^2 - 1)^2 - 1)^2 - 1)^2 - 1
 }}}
 which I would like to have either so or so, not both.

 I think I propose to handle a symbolic argument exactly as a polynomial.
 No one expects such a nested result except if explicitly requested. It's
 also only faster because it's not expanded.

 Do you have any objections?

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