#4102: make bessel_J symbolic
--------------------------------------------------------------+-------------
Reporter: jwmerrill | Owner:
burcin
Type: enhancement | Status:
needs_review
Priority: major | Milestone:
sage-5.11
Component: calculus | Resolution:
Keywords: sd48 | Work issues:
Report Upstream: N/A | Reviewers:
Karl-Dieter Crisman, Burcin Erocal
Authors: Benjamin Jones, Eviatar Bach, Volker Braun | Merged in:
Dependencies: | Stopgaps:
--------------------------------------------------------------+-------------
Changes (by {'newvalue': u'Benjamin Jones, Eviatar Bach, Volker Braun',
'oldvalue': u'Benjamin Jones'}):
* keywords: => sd48
* reviewer: Karl-Dieter Crisman => Karl-Dieter Crisman, Burcin Erocal
* author: Benjamin Jones => Benjamin Jones, Eviatar Bach, Volker Braun
Old description:
> The motivation for this is
>
> {{{
> sage: plot(bessel_J(1, x), (x, 1, 10))
> Traceback (most recent call last):
> ...
> TypeError: Unable to convert x
> (='1-1/8*x^2+1/192*x^4-1/9216*x^6+1/737280*x^8-1/88473600*x^10+1/14863564800*x^12-1/3329438515200*x^14+1/958878292377600*x^16+O(x^17)')
> to real number.
> }}}
>
> The problem is that special functions, or at least {{{bessel_J}}}, can't
> currently be partially evaluated--that is, called with a
> {{{SymbolicExpression}}} as an argument. The model of good behavior is
> {{{polylog}}}, for which the above method produces a perfectly nice plot
>
> {{{
> sage: plot(polylog(1,x),(x,.1,.9)) #makes a fine plot
> }}}
>
> See discussion at http://groups.google.com/group/sage-
> support/browse_thread/thread/1b985b080ba2369e/7dee9eed953857f5#7dee9eed953857f5
>
> ----
>
> Release manager:
>
> Apply: attachment:trac_symbolic_bessel_v7.2.patch,
> attachment:trac_symbolic_bessel_v7-doctests.patch
New description:
The motivation for this is
{{{
sage: plot(bessel_J(1, x), (x, 1, 10))
Traceback (most recent call last):
...
TypeError: Unable to convert x
(='1-1/8*x^2+1/192*x^4-1/9216*x^6+1/737280*x^8-1/88473600*x^10+1/14863564800*x^12-1/3329438515200*x^14+1/958878292377600*x^16+O(x^17)')
to real number.
}}}
The problem is that special functions, or at least {{{bessel_J}}}, can't
currently be partially evaluated--that is, called with a
{{{SymbolicExpression}}} as an argument. The model of good behavior is
{{{polylog}}}, for which the above method produces a perfectly nice plot
{{{
sage: plot(polylog(1,x),(x,.1,.9)) #makes a fine plot
}}}
See discussion at http://groups.google.com/group/sage-
support/browse_thread/thread/1b985b080ba2369e/7dee9eed953857f5#7dee9eed953857f5
----
Release manager:
Apply:
* attachment:trac_symbolic_bessel_v7.2.patch,
* attachment:trac_symbolic_bessel_v7-doctests.patch,
* attachment:bessel_2.2.patch
--
Comment:
All patches look good to me. We can switch this to positive review once
the patchbot gives it a green light.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4102#comment:70>
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.