#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|
cc2e34f198961ba4af7b15a925cf893e77898b24
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by maldun):
Replying to [comment:20 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?
Yes I have. There are users (like me) who want the possibility to switch
between this representations, especially for large values of n
--
Ticket URL: <http://trac.sagemath.org/ticket/16812#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.