Le dimanche 11 mars 2012 à 01:31 -0600, Val Kalatsky a écrit :
> Can you?
> The question should be: Why sympy does not have Fresnel integrals?
>
Well, the development version has hypergeometric functions, which is
enough to integrate sin(x**2):
>>> from sympy import *
>>> x = Symbol('x')
>>> integrate(sin(x**2))
x**3*gamma(3/4)*hyper((3/4,), (3/2, 7/4), -x**4/4)/(4*gamma(7/4))
>>> integrate(sin(x**2), (x, 0, oo))
sqrt(2)*sqrt(pi)/4
It can also create a numerical function for the result, but it uses
mpmath, so it won't play well with numpy:
>>> f = lambdify(x, integrate(sin(x**2)))
>>> f(4567.)
mpf('0.62676518399179759')
>>> f(np.linspace(-5., 5., 10))
Traceback (most recent call last):
File "", line 1, in
f(np.linspace(-5., 5., 10))
File "", line 1, in
File "/home/ronan/dev/sympy/sympy/mpmath/functions/hypergeometric.py",
line 199, in hyper
z = ctx.convert(z)
File "/home/ronan/dev/sympy/sympy/mpmath/ctx_mp_python.py", line 662,
in convert
return ctx._convert_fallback(x, strings)
File "/home/ronan/dev/sympy/sympy/mpmath/ctx_mp.py", line 556, in
_convert_fallback
raise TypeError("cannot create mpf from " + repr(x))
TypeError: cannot create mpf from array([ -1.5625e+02, -5.71797363e
+01, -1.48843545e+01,
-1.92901235e+00, -2.38149672e-02, -2.38149672e-02,
-1.92901235e+00, -1.48843545e+01, -5.71797363e+01,
-1.5625e+02])
> On Sun, Mar 11, 2012 at 1:06 AM, aa wrote:
> why sympy cannot integrate sin(x**2)??
> ___
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
> ___
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion