#9706: Symbolic Chebyshev polynomials
-------------------------------------+-------------------------------------
Reporter: maldun | Owner: burcin, maldun
Type: enhancement | Status: needs_work
Priority: minor | Milestone: sage-5.13
Component: symbolics | Resolution:
Keywords: orthogonal | Merged in:
polynomials, symbolics | Reviewers: Burcin Erocal, Travis
Authors: Stefan Reiterer, | Scrimshaw, Stefan Reiterer
Travis Scrimshaw | Work issues:
Report Upstream: N/A | Commit:
Branch: | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by maldun):
@clenshaw_method: there is a difference. clenshaw method also applies a
direct formula for small n and calls the recursive method else. The
difference is that the recursive evaluation does not give an expanded
representation of the polynomial, which is wanted for small n, because
that was the standard till now and people expect this, especially if you
are used to mathematica or maxima. Expanding huge expressions costs a lot
of time, and this approach is much faster in that situation. Of course it
is a matter of naming. But the reason why I have 2 methods, is to avoid
too long code segments, and splitting them apart is better for
readability. It also is important concerning other orthogonal polynomials.
@__call__ & _eval_ : This convention is part of the BuiltinFunction
structure.
__call__ does all the stuff like coercions, transforming into a symbolic
expression (e.g. if n is a symbolic value don't return a polynomial but
hold the closed form.)
_eval cares about evaluating the polynomial (e.g return a number if x is a
number etc.)
Look into the symbolic.function module for more details
And eval is so complicated because there are several cases to consider:
correct evaluation of symbolic expressions, numerical expressions and
numpy arrays etc.
This is also part of the BuiltinFunction structure.
@bugs Sorry, during the patch merging process I had forgotten to apply a
patch, which I'm now missing, since I work on different machines ... I
will correct this tomorrow
--
Ticket URL: <http://trac.sagemath.org/ticket/9706#comment:86>
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/groups/opt_out.