As far as I see, Sympy *does* know the limit at 0.0:
>>> from sympy import *
>>> x = symbols('x')
>>> limit(besselj(1, x)/x, x, 0)
1/2
If in Julia you call it like limit(besselj(1, x)/x, x, 0), then Julia
assumes it to be its own function, not SymPy's.
If on the other hand you call all SymPy functions fully expanded:
julia> using PyCall
julia> @pyimport sympy
julia> x = sympy.symbols("x")
julia> sympy.limit(sympy.besselj(1, x)/x, x, 0.0)
`/` has no method matching /(::PyObject, ::PyObject)
So the problem seems to be with how PyCall interprets this expression
before sending it to SymPy.
On Monday, August 11, 2014 5:55:56 AM UTC+2, Zahirul ALAM wrote:
>
> Is there way of calculating limit of a function?
>
> I have tried SymPy Package. But it unfortunately doesnot compute limit for
> bessel function.
>
> r= Sym("r")
> limit(besselj(1, r)/r, r, 0)
>
> returns the following error:
>
> `besselj` has no method matching besselj(::Int64, ::Sym)
> while loading In[27], in expression starting on line 1
>
>
> the it works for cosine, sine,
> r= Sym("r")
> limit(sin( r)/r, r, 0)
>
> Any idea? is there a built an undocumented Julia function which can calculate
> limit?
>
>
>
>