sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.
https://www.sagemath.org
Other
1.18k stars 409 forks source link

implement Meijer G function #17970

Open rwst opened 9 years ago

rwst commented 9 years ago

This function would allow to express the result from differentiation of several special functions with respect to the order parameter, which at the moment gives an error:

sage: diff(exp_integral_e(n,x),n)
NotImplementedError: The derivative of this function is only implemented for 
sage: gamma_inc(n,x).diff(n)
D[0](gamma)(n, x)

sage: sympy.expint(n, x).diff(n)
-x**(n - 1)*meijerg(((), (1, 1)), ((0, 0, -n + 1), ()), x)
sage: sympy.uppergamma(n, x).diff(n)
meijerg(((), (1, 1)), ((0, 0, n), ()), x) + log(x)*uppergamma(n, x)
sage: sympy.lowergamma(n, x).diff(n)
-meijerg(((), (1, 1)), ((0, 0, n), ()), x) - log(x)*uppergamma(n, x) + gamma(n)*polygamma(0, n)
sage: meijerg?
Object `meijerg` not found.

sage: laplace(cos(-1/t), t, s, algorithm='sympy')
...
AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), s**2/16)/4) into Sage

Mpmath has numerics too.

https://en.wikipedia.org/wiki/Meijer_G-function

See also https://ask.sagemath.org/question/60006/meijer-g-function-in-sage/

CC: @slel

Component: symbolics

Keywords: meijerg

Issue created by migration from https://trac.sagemath.org/ticket/17970

rwst commented 9 years ago

Description changed:

--- 
+++ 
@@ -2,7 +2,8 @@

sage: diff(exp_integral_e(n,x),n) -NotImplementedError: The derivative of this function is only implemented for sage: gamma_inc(n,x).diff(n) +NotImplementedError: The derivative of this function is only implemented for +sage: gamma_inc(n,x).diff(n) D0(n, x)

sage: sympy.expint(n, x).diff(n)

rwst commented 6 years ago

Description changed:

--- 
+++ 
@@ -14,6 +14,10 @@
 -meijerg(((), (1, 1)), ((0, 0, n), ()), x) - log(x)*uppergamma(n, x) + gamma(n)*polygamma(0, n)
 sage: meijerg?
 Object `meijerg` not found.
+
+sage: laplace(cos(-1/t), t, s, algorithm='sympy')
+...
+AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), s**2/16)/4) into Sage

Mpmath has numerics too.

videlec commented 5 years ago
comment:3

update milestone 8.3 -> 8.4

edd8e884-f507-429a-b577-5d554626c0fe commented 2 years ago

Description changed:

--- 
+++ 
@@ -23,3 +23,5 @@
 Mpmath has numerics too.

 https://en.wikipedia.org/wiki/Meijer_G-function
+
+See also https://ask.sagemath.org/question/60006/meijer-g-function-in-sage/
slel commented 2 years ago
comment:5

The Meijer G function is mentioned in questions, answers, comments or discussions at:

slel commented 2 years ago

Changed keywords from none to meijerg

sheerluck commented 2 years ago
comment:6
sage: integrate(x * bessel_Y(1, x), (x, 0 ,1), algorithm="sympy")
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/usr/lib/python3.10/site-packages/sage/interfaces/sympy.py in _sympysage_function_by_name(fname)
    303         else:
    304             # the function defined in sympy is not known in sage
--> 305             raise AttributeError(fname)
    306     return func
    307 

AttributeError: meijerg