From 5964b5bd8495707e072e6fed908c2ad59428028e Mon Sep 17 00:00:00 2001 From: Antonio Jimenez Pastor Date: Tue, 11 Sep 2018 17:24:39 +0200 Subject: [PATCH] Fixed small errors in ddFunction.py Added all the examples from DLMF website. Started adding the documentation for all the examples. --- ajpastor/dd_functions/ddExamples.py | 908 ++++++++++++++++----- ajpastor/dd_functions/ddFunction.py | 11 +- releases/diff_defined_functions__0.5.zip | Bin 109802 -> 113648 bytes ...f_defined_functions__0.5__18.09.11_17:24:39.zip | Bin 0 -> 113648 bytes 4 files changed, 735 insertions(+), 184 deletions(-) create mode 100644 releases/old/diff_defined_functions__0.5__18.09.11_17:24:39.zip diff --git a/ajpastor/dd_functions/ddExamples.py b/ajpastor/dd_functions/ddExamples.py index 9ab2a44..f66c7a1 100644 --- a/ajpastor/dd_functions/ddExamples.py +++ b/ajpastor/dd_functions/ddExamples.py @@ -1,23 +1,22 @@ -# This file was *autogenerated* from the file ./ddExamples.sage from sage.all_cmdline import * # import sage library - from sage.rings.polynomial.polynomial_ring import is_PolynomialRing; from sage.rings.polynomial.multi_polynomial_ring import is_MPolynomialRing; -_sage_const_3 = Integer(3); _sage_const_2 = Integer(2); _sage_const_1 = Integer(1); _sage_const_0 = Integer(0); _sage_const_6 = Integer(6) from ajpastor.dd_functions.ddFunction import *; from ajpastor.misc.dinamic_string import *; -## Global variables (PUBLIC) -DFinite_examples = {}; -DDFinite_examples = {}; - -## Global variables (PRIVATE) -__example_names = {}; +_sage_const_3 = Integer(3); _sage_const_2 = Integer(2); _sage_const_1 = Integer(1); _sage_const_0 = Integer(0); _sage_const_6 = Integer(6); +### Global variables (PUBLIC) +#DFinite_examples = {}; +#DDFinite_examples = {}; +# +### Global variables (PRIVATE) +#__example_names = {}; +# ################################################################################## ################################################################################## ### @@ -25,82 +24,150 @@ __example_names = {}; ### ################################################################################## ################################################################################## -def DD_EXAMPLES_LOAD(): - global DFinite_examples; global DDFinite_examples; - global __example_names; - - s = DFinite.element([_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sin(_1)", "x")); - c = DFinite.element([_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_1 ,_sage_const_0 ], name=DinamicString("cos(_1)", "x")); - sh = DFinite.element([-_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sinh(_1)", "x")); - ch = DFinite.element([-_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_1 ,_sage_const_0 ], name=DinamicString("cosh(_1)", "x")); - ln = DFinite.element([_sage_const_1 ,_sage_const_0 ,(x+_sage_const_1 )],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("log(_1-1)", "x")); - e = DFinite.element([-_sage_const_1 ,_sage_const_1 ],[_sage_const_1 ], name=DinamicString("exp(_1)", "x")); - tan = DDFinite.element([-_sage_const_2 ,_sage_const_0 ,c**_sage_const_2 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("tan(_1)", "x")); - - ## Defining D-Finite Examples - DFinite_examples['e'] = e; - DFinite_examples['ln'] = ln; - DFinite_examples['sin'] = s; - DFinite_examples['cos'] = c; - DFinite_examples['sinh'] = sh; - DFinite_examples['cosh'] = ch; - P = DFiniteP.parameters()[_sage_const_0 ]; - DFinite_examples['bessel'] = DFiniteP.element([x**2-P**2,x,x**2], name=DinamicString("bessel_J(_1,_2)", ["P","x"])); - DFinite_examples['struve'] = DFiniteP.element([(1-P)*x**2+P**2*(P+1),x*(x**2-P**2-P),(2-P)*x**2,x**3], name=DinamicString("pi*struve_H(_1,_2)", ["P","x"])); - DFinite_examples['legendre'] = DFiniteP.element([P*(P+_sage_const_1 ), -_sage_const_2 *x,_sage_const_1 -x**_sage_const_2 ], name=DinamicString("legendre_P(_1,_2)", ["P","x"])); - DFinite_examples['chebyshev1'] = DFiniteP.element([P**_sage_const_2 ,-x,(_sage_const_1 -x**_sage_const_2 )], name=DinamicString("chebyshev_T(_1,_2)", ["P","x"])); - DFinite_examples['chebyshev2'] = DFiniteP.element([P*(P+_sage_const_2 ),-_sage_const_3 *x,_sage_const_1 -x**_sage_const_2 ], name=DinamicString("chebyshev_U(_1,_2)", ["P","x"])); - - ## Defining DD-Finite Examples - DDFinite_examples['esin'] = DDFinite.element([_sage_const_1 ,-c], [_sage_const_1 ], name=DinamicString("exp(sin(_1))", "x")); - DDFinite_examples['sine'] = DDFinite.element([e**_sage_const_2 ,-_sage_const_1 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sin(exp(_1))", "x")); - DDFinite_examples['tan'] = [tan, DDFinite.element([_sage_const_0 ,-_sage_const_2 *s*c,c**_sage_const_2 ], [_sage_const_0 ,_sage_const_1 ], name=DinamicString("tan(_1)", "x"))]; - DDFinite_examples['bernoulli'] = DDFinite.element([x*e-e+_sage_const_1 ,x*(e-_sage_const_1 )],[_sage_const_1 ,-_sage_const_1 /_sage_const_2 ,_sage_const_1 /_sage_const_6 ,_sage_const_0 ]); - - ## Defining some names - __example_names['exp'] = 'e'; - __example_names['log'] = 'ln'; - __example_names['sen'] = 'sin'; - __example_names['tg'] = 'tan'; - -def DFinite_example(input, n=_sage_const_0 ): - if(DFinite_examples.has_key(input)): - res = DFinite_examples[input]; - elif (__example_names.has_key(input) and DFinite_examples.has_key(__example_names[input])): - res = DFinite_examples[__example_names[input]]; - else: - raise ValueError('The DD-Function by name %s does not exist' %(input)); - - if(type(res)==list): - return res[n]; - else: - return res; - +#def DD_EXAMPLES_LOAD(): +# global DFinite_examples; global DDFinite_examples; +# global __example_names; +# +# s = DFinite.element([_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sin(_1)", "x")); +# c = DFinite.element([_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_1 ,_sage_const_0 ], name=DinamicString("cos(_1)", "x")); +# sh = DFinite.element([-_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sinh(_1)", "x")); +# ch = DFinite.element([-_sage_const_1 ,_sage_const_0 ,_sage_const_1 ],[_sage_const_1 ,_sage_const_0 ], name=DinamicString("cosh(_1)", "x")); +# ln = DFinite.element([_sage_const_1 ,_sage_const_0 ,(x+_sage_const_1 )],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("log(_1-1)", "x")); +# e = DFinite.element([-_sage_const_1 ,_sage_const_1 ],[_sage_const_1 ], name=DinamicString("exp(_1)", "x")); +# tan = DDFinite.element([-_sage_const_2 ,_sage_const_0 ,c**_sage_const_2 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("tan(_1)", "x")); +# +# ## Defining D-Finite Examples +# DFinite_examples['e'] = e; +# DFinite_examples['ln'] = ln; +# DFinite_examples['sin'] = s; +# DFinite_examples['cos'] = c; +# DFinite_examples['sinh'] = sh; +# DFinite_examples['cosh'] = ch; +# P = DFiniteP.parameters()[_sage_const_0 ]; +# DFinite_examples['bessel'] = DFiniteP.element([x**2-P**2,x,x**2], name=DinamicString("bessel_J(_1,_2)", ["P","x"])); +# DFinite_examples['struve'] = DFiniteP.element([(1-P)*x**2+P**2*(P+1),x*(x**2-P**2-P),(2-P)*x**2,x**3], name=DinamicString("pi*struve_H(_1,_2)", ["P","x"])); +# DFinite_examples['legendre'] = DFiniteP.element([P*(P+_sage_const_1 ), -_sage_const_2 *x,_sage_const_1 -x**_sage_const_2 ], name=DinamicString("legendre_P(_1,_2)", ["P","x"])); +# DFinite_examples['chebyshev1'] = DFiniteP.element([P**_sage_const_2 ,-x,(_sage_const_1 -x**_sage_const_2 )], name=DinamicString("chebyshev_T(_1,_2)", ["P","x"])); +# DFinite_examples['chebyshev2'] = DFiniteP.element([P*(P+_sage_const_2 ),-_sage_const_3 *x,_sage_const_1 -x**_sage_const_2 ], name=DinamicString("chebyshev_U(_1,_2)", ["P","x"])); +# +# ## Defining DD-Finite Examples +# DDFinite_examples['esin'] = DDFinite.element([_sage_const_1 ,-c], [_sage_const_1 ], name=DinamicString("exp(sin(_1))", "x")); +# DDFinite_examples['sine'] = DDFinite.element([e**_sage_const_2 ,-_sage_const_1 ,_sage_const_1 ],[_sage_const_0 ,_sage_const_1 ], name=DinamicString("sin(exp(_1))", "x")); +# DDFinite_examples['tan'] = [tan, DDFinite.element([_sage_const_0 ,-_sage_const_2 *s*c,c**_sage_const_2 ], [_sage_const_0 ,_sage_const_1 ], name=DinamicString("tan(_1)", "x"))]; +# DDFinite_examples['bernoulli'] = DDFinite.element([x*e-e+_sage_const_1 ,x*(e-_sage_const_1 )],[_sage_const_1 ,-_sage_const_1 /_sage_const_2 ,_sage_const_1 /_sage_const_6 ,_sage_const_0 ]); +# +# ## Defining some names +# __example_names['exp'] = 'e'; +# __example_names['log'] = 'ln'; +# __example_names['sen'] = 'sin'; +# __example_names['tg'] = 'tan'; +# +#def DFinite_example(input, n=_sage_const_0 ): +# if(DFinite_examples.has_key(input)): +# res = DFinite_examples[input]; +# elif (__example_names.has_key(input) and DFinite_examples.has_key(__example_names[input])): +# res = DFinite_examples[__example_names[input]]; +# else: +# raise ValueError('The DD-Function by name %s does not exist' %(input)); +# +# if(type(res)==list): +# return res[n]; +# else: +# return res; +# +# +#def DDFinite_example(input, n = _sage_const_0 ): +# if(DDFinite_examples.has_key(input)): +# res = DDFinite_examples[input]; +# elif (__example_names.has_key(input) and DDFinite_examples.has_key(__example_names[input])): +# res = DDFinite_examples[__example_names[input]]; +# else: +# raise ValueError('The DD-Function by name %s does not exist' %(input)); +# +# if(type(res)==list): +# return res[n]; +# else: +# return res; +# +#def DDFunction_example(input, n=_sage_const_0 ): +# try: +# return DFinite_example(input, n); +# except Exception: +# pass; +# try: +# return DDFinite_example(input, n); +# except Exception: +# pass; +# +# raise ValueError('No DD-Function by name %s exist' %(input)); -def DDFinite_example(input, n = _sage_const_0 ): - if(DDFinite_examples.has_key(input)): - res = DDFinite_examples[input]; - elif (__example_names.has_key(input) and DDFinite_examples.has_key(__example_names[input])): - res = DDFinite_examples[__example_names[input]]; - else: - raise ValueError('The DD-Function by name %s does not exist' %(input)); +def ddExamples(functions = False, names=False): + ''' + Welcome to ddExamples documentation. Here we describe the functions + available in this module. For further information on each function, + please access the documentation for that particular function. + + All the elements that are returned in this module are DDFunction, i.e., + formal power series defined with a linear differential equation and + some appropriate initial values. - if(type(res)==list): - return res[n]; + When possible, the functions returned by this module are associated with + the usual implementation of those functions in SAGE, so using the + method "to_symbolic()" returns the same object in the Symbolic Ring. + + The functions available in this module are the following: + + ** TRIGONOMETRIC FUNCTIONS + - Sin + - Cos + - Tan + - Sinh + - Cosh + ** EXPONENTIAL FUNCTIONS + - Exp + - Log + - Log1 + ** BESSEL TYPE FUNCTIONS (see chapters 10, 11 in https://dlmf.nist.gov) + - BesselD + - StruveD + ** ORTHOGONAL POLRNOMAILS + - LegendreD (see chapter 14 in https://dlmf.nist.gov) + - ChebyshevD (see chapter 18 in https://dlmf.nist.gov) + ** HYPERGEOMETRIC FUNCTIONS (see chapters 15, 16 in https://dlmf.nist.gov) + - HypergeometricFunction + - GenericHypergeometricFunction + ** MATHIEU TYPE FUNCTIONS (see chapter 28 in https://dlmf.nist.gov) + - MathieuD + - MathieuSin + - MathieuCos + - ModifiedMathieuD + - ModifiedMathieuSin + - ModifiedMathieuCos + - HillD + ** AIRY'S FUNCTIONS + - AiryD + ** PARABOLIC-CYLINDER TYPE FUNCTIONS + - ParabolicCylinderD + ** ELLIPTIC INTEGRALS (see chapter 19 in https://dlmf.nist.gov) + - EllipticLegendreD + ** SPHEROIDAL WAVE FUNCTIONS (see chapter 30 in https://dlmf.nist.gov) + - CoulombSpheroidalFunctionD + - SpheroidalWaveFunctionD + ** HEUN'S FUNCTIONS (see chapter 31 in https://dlmf.nist.gov) + - FuschianD + - HeunD + ** COULOMB WAVE FUNCTION (see chapter 33 in https://dlmf.nist.gov) + - CoulombF + ''' + if(not functions): + print ddExamples.__doc__; else: - return res; - -def DDFunction_example(input, n=_sage_const_0 ): - try: - return DFinite_example(input, n); - except Exception: - pass; - try: - return DDFinite_example(input, n); - except Exception: - pass; + funcs = [Sin,Cos,Tan,Sinh,Cosh,Exp,Log,Log1,BesselD,StruvD,LegendreD,ChebyshevD,HypergeometricFunction,GenericHypergeometricFunction,MathieuD,MathieuSin,MathieuCos,ModifiedMathieuD,ModifiedMathieuSin,ModifiedMathieuCos,HillD,AiryD,ParabolicCylinderD,EllipticLegendreD,CoulombSpheroidalFunctionD,SpheroidalWaveFunctionD,FuschianD,HeunD,CoulombF]; - raise ValueError('No DD-Function by name %s exist' %(input)); + if(names): + return [el.__name__ for el in funcs]; + return funcs; + ################################################################################## ################################################################################## @@ -111,8 +178,22 @@ def DDFunction_example(input, n=_sage_const_0 ): ################################################################################## @cached_function def Sin(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + D-finite implementation of the Sine function (sin(x)). + + References: + - http://mathworld.wolfram.com/Sine.html + - https://en.wikipedia.org/wiki/Sine + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression with x as a factor. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must be divisible by the main variable. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + + if(is_DDFunction(input)): return Sin(x)(input); f,dR = __decide_parent(input, ddR); @@ -131,8 +212,21 @@ def Sin(input, ddR = None): @cached_function def Cos(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + D-finite implementation of the Cosine function (cos(x)). + + References: + - http://mathworld.wolfram.com/Cosine.html + - https://en.wikipedia.org/wiki/Cosine + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression with x as a factor. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must be divisible by the main variable. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Cos(x)(input); f,dR = __decide_parent(input, ddR); @@ -151,8 +245,21 @@ def Cos(input, ddR = None): @cached_function def Tan(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the Tangent function (tan(x)). + + References: + - http://mathworld.wolfram.com/Tangent.html + - https://en.wikipedia.org/wiki/Tangent + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression with x as a factor. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must be divisible by the main variable. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Tan(x)(input); if(input == x): return DDFinite_example('tan'); @@ -188,8 +295,21 @@ def Tan(input, ddR = None): @cached_function def Sinh(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the Hyperbolic Sine function (sinh(x)). + + References: + - http://mathworld.wolfram.com/HyperbolicSine.html + - https://en.wikipedia.org/wiki/Hyperbolic_function + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression with x as a factor. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must be divisible by the main variable. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Sinh(x)(input); f,dR = __decide_parent(input, ddR); @@ -208,8 +328,21 @@ def Sinh(input, ddR = None): @cached_function def Cosh(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the Hyperbolic Cosine function (cosh(x)). + + References: + - http://mathworld.wolfram.com/HyperbolicCosine.html + - https://en.wikipedia.org/wiki/Hyperbolic_function + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression with x as a factor. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must be divisible by the main variable. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Cosh(x)(input); f,dR = __decide_parent(input, ddR); @@ -235,8 +368,21 @@ def Cosh(input, ddR = None): ################################################################################## @cached_function def Log(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the Logarithm function (ln(x)). + + References: + - http://mathworld.wolfram.com/Logarithm.html + - https://en.wikipedia.org/wiki/Logarithm + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression such the evaluation x=0 gives 1. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must evaluate to 1 when the main variable is 0. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 1. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Log(x+_sage_const_1 )(input); f,dR = __decide_parent(input, ddR); @@ -255,8 +401,21 @@ def Log(input, ddR = None): @cached_function def Log1(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the shifted Logarithm function (ln(x+1)). It is equivalent to Log(input+1). + + References: + - http://mathworld.wolfram.com/Logarithm.html + - https://en.wikipedia.org/wiki/Logarithm + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression such the evaluation x=0 gives 0. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must evaluate to 0 when the main variable is 0. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Log1(x)(input); f,dR = __decide_parent(input, ddR); @@ -277,8 +436,21 @@ def Log1(input, ddR = None): @cached_function def Exp(input, ddR = None): - from ajpastor.dd_functions.ddFunction import DDFunction; - if(isinstance(input, DDFunction)): + ''' + DD-finite implementation of the Exponential function (exp(x)). + + References: + - http://mathworld.wolfram.com/ExponentialFunction.html + - https://en.wikipedia.org/wiki/Exponential_function + + This functions allows the user to fix the argument. The argument can be: + - A symbolic expression: all variables but "x" will be considered as parameters. Must be a polynomial expression such the evaluation x=0 gives 0. + - A polynomial: the first generator of the polynomial ring will be considered the variable to compute derivatives and the rest will be considered as parameters. The polynomial must evaluate to 0 when the main variable is 0. + - A DDFunction: the composition will be computed. The DDFunction must have initial value 0. + + This function can be converted into symbolic expressions. + ''' + if(is_DDFunction(input)): return Exp(x)(input); f,dR = __decide_parent(input, ddR); @@ -302,58 +474,119 @@ def Exp(input, ddR = None): ##### BESSEL TYPE FUNCTIONS ### Bessel Functions @cached_function -def BesselD(input, kind = _sage_const_1 ): - if(input is None): - return DDFunction_example('bessel'); - elif(kind == _sage_const_1 ): - try: - alpha = QQ(input); - if(alpha < _sage_const_0 ): - raise ValueError("Impossible to manage Bessel functions of first kind with negative order"); - - P = DFiniteP.parameters()[_sage_const_0 ]; +def BesselD(input = 'P', kind = _sage_const_1 ): + ''' + DD-finite implementation of the Bessel functions (J_n(x), Y_n(x)). + + References: + - https://dlmf.nist.gov/10.2 + - https://en.wikipedia.org/wiki/Bessel_function + - http://mathworld.wolfram.com/BesselFunction.html - func = DDFunction_example('bessel')(**{str(P):alpha}); - if(alpha in ZZ): - return func.change_init_values([_sage_const_0 for i in range(alpha)] + [_sage_const_1 /_sage_const_2 **alpha, _sage_const_0 , -((alpha+_sage_const_2 )/(_sage_const_2 **(alpha+_sage_const_2 )))], name = "bessel_J(%d,x)" %input); - else: - return func.change_init_values([_sage_const_0 ], name = DinamicString("bessel_J(_1,_2)", [str(input), "x"])); - except TypeError: - raise TypeError("Impossible to manage Bessel functions of first kind with irrational order"); + This method returns a function in the appropriate DD-Ring satisfying the differential equation + x^2 f'' + xf' + (x^2-P^2)f = 0 + where 'x' is the variable and 'P' is a constant parameter (i.e. P' = 0). + + INPUT: + - input: the parameter 'n' for the Bessel differential equation. Currently, only non-negative integer are allowed. If no value is given, then the symbolic Bessel function (only with an equation) is returned with parameter "P". The input can also be a string with a name for the parameter or a polynomial expression involving parameters. + - kind: the kind of bessel function the user want to get (default 1). It can take tha values 1 or 2. Currently, only the first kind is fully implemented. + + WARNING: + - For power series solution this function only have non-zero solutions when the argument 'input' is a non-negative integer. Hence, initial values will also be computed for the parameter values that have power series solutions. + - The implementation will say that the symbolic Bessel function is the zero function for non-negative values of the parameter. In any case, the method 'to_symbolic' will return the appropriate SAGE function. + - When evaluating parameters, the initial values will not update and must be set by hand. + ''' + parent, par = __check_list([input], DFinite.variables()); + par = par[0]; + + if(parent is QQ): + parent = DFinite; else: - raise ValueError("Impossible to manage Bessel functions of %dth kind" %(kind)); + parent = ParametrizedDDRing(DFinite, [str(v) for v in parent.gens()]); + par = parent.base()(par); + x = parent.variables()[0]; + + if(kind == _sage_const_1 ): + func = parent.element([x**2-par**2, x, x**2], name=DinamicString("bessel_J(_1,_2)", [repr(par),"x"])); + if(par in ZZ): + alpha = ZZ(par); + func = func.change_init_values([_sage_const_0 for i in range(alpha)] + [_sage_const_1 /_sage_const_2 **alpha, _sage_const_0 , -((alpha+_sage_const_2 )/(_sage_const_2 **(alpha+_sage_const_2 )))], name = func._DDFunction__name); + elif(kind == _sage_const_2 ): + func = parent.element([x**2-par**2, x, x**2], name=DinamicString("bessel_Y(_1,_2)", [repr(par),"x"])); + else: + raise ValueError("Impossible to manage Bessel functions of %sth kind" %(kind)); + + return func; ### Struve's functions @cached_function -def StruveD(mu=None,kind=1): - _sage_const_1 = ZZ(1); _sage_const_2 = ZZ(2); _sage_const_3 = ZZ(3); - if(kind != 1): - raise TypeError("Only struve_H functions are implemented"); +def StruveD(mu='P',kind=1): + ''' + DD-finite implementation of the Struve functions (J_n(x), Y_n(x)). - f = DFinite_examples['struve']; - if(mu is None): - return f; - elif((mu < 0) or (mu not in ZZ)): - raise TypeError("Parameter must be greater or equal to -1 to have a power series (got %d)" %mu); + References: + - https://dlmf.nist.gov/11.2 + - https://en.wikipedia.org/wiki/Struve_function + - http://mathworld.wolfram.com/StruveFunction.html + + Struve functions are the solutions for the inhomogeneous Bessel differential equation + and have also a parameter 'P' involved: + x^2 f'' + xf' + (x^2-P^2)f = (1/sqrt(pi)*gamma(P+1/2))*(x/2)^(P-1) + + This equation can be write as an homogeneous differential equation of order 3: + (1-P)*x**2+P**2*(P+1),x*(x**2-P**2-P),(2-P)*x**2,x**3 + x^3f^(3) + (2-P)x^2f'' + x(x^2-P^2-P)f' + ((1-P)x^2 + P^3+ P^2)f = 0. + + Following the definition that we can find in the references above, we have that the Struve + function only have power series solutions for integers parameters greater than -1. Then the first + non-zero value of the power serie has a factor of 'pi'. To avoid adding the element 'pi' to the + coefficients, we work with the function f_mu(x) = pi*H_mu(x). - P = f.parent().parameters()[0]; - num = factorial(mu+_sage_const_1)*pi*(_sage_const_1/_sage_const_2)**(mu+_sage_const_1); - den = gamma(_sage_const_3/_sage_const_2)*gamma(mu+_sage_const_3/_sage_const_2); - val = QQ(num/den); - - print num,den,val; + INPUT: + - input: the parameter 'mu' for the Struve differential equation. Currently, only integers greater than -2 are allowed. If 'None' is given, then the symbolic Struve function (only with an equation) is returned with parameter "P". The input can also be a string with a name for the parameter or a polynomial expression involving parameters. + - kind: the kind of Struve function the user want to get (default 1). It can take the values 1 or 2. Currently, only the first kind is fully implemented. + + WARNING: + - Initial values will also be computed for the parameter values that have power series solutions. + - The implementation will say that the symbolic Bessel function is the zero function for non-negative values of the parameter. In any case, the method 'to_symbolic' will return the appropriate SAGE function. + - When evaluating parameters, the initial values will not update and must be set by hand. + + ''' + parent, par = __check_list([mu], DFinite.variables()); + par = par[0]; - f = f(P=mu); - f = f.change_init_values([0 for i in range(mu+1)] + [val], name=f._DDFunction__name); + if(kind != 1): + raise TypeError("Only struve_H functions are implemented"); + + if(parent is QQ): + parent = DFinite; + else: + parent = ParametrizedDDRing(DFinite, [str(v) for v in parent.gens()]); + f = parent.element([(1-par)*x**2+par**2*(par+1),x*(x**2-par**2-par),(2-par)*x**2,x**3], name=DinamicString("pi*struve_H(_1,_2)", [repr(par),"x"])); + if(par in ZZ and par >= 0): + num = factorial(par+_sage_const_1)*pi*(_sage_const_1/_sage_const_2)**(par+_sage_const_1); + den = gamma(_sage_const_3/_sage_const_2)*gamma(par+_sage_const_3/_sage_const_2); + val = QQ(num/den); + f = f.change_init_values([0 for i in range(par+1)] + [val], name=f._DDFunction__name); return f; ###### ORTHOGONAL POLYNOMIALS -### Legendre Polynomials +### Legendre Polynomials __legendre_initials = [[_sage_const_1 ,_sage_const_0 ],[_sage_const_0 ,_sage_const_1 ]]; @cached_function def LegendreD(input): + ''' + D-finite implementation of the Legendre polynomials (P_n(x)) + + References: + - https://dlmf.nist.gov/18.3 + - https://en.wikipedia.org/wiki/Legendre_polynomials + - http://mathworld.wolfram.com/LegendrePolynomial.html + + TODO + ''' global __legendre_initials; if(input is None): return DDFunction_example('legendre'); @@ -378,6 +611,16 @@ def LegendreD(input): __chebyshev_initials = [[],[[_sage_const_1 ,_sage_const_0 ],[_sage_const_0 ,_sage_const_1 ]],[[_sage_const_1 ,_sage_const_0 ],[_sage_const_0 ,_sage_const_2 ]]]; @cached_function def ChebyshevD(input, kind = _sage_const_1 ): + ''' + D-finite implementation of the Chebyshev polynomials (T_n(x), U_n(x)) + + References: + - https://dlmf.nist.gov/18.3 + - https://en.wikipedia.org/wiki/Chebyshev_polynomials + - http://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html & http://mathworld.wolfram.com/ChebyshevPolynomialoftheSecondKind.html + + TODO + ''' global __chebyshev_initials; if(input is None): return DDFunction_example('chebyshev%d' %kind); @@ -413,31 +656,29 @@ def ChebyshevD(input, kind = _sage_const_1 ): __CACHED_HYPERGEOMETRIC = {}; def HypergeometricFunction(a,b,c, init = _sage_const_1 ): + ''' + D-finite implementation of the Gauss Hypergeometric function + + References: + - https://dlmf.nist.gov/15 + - https://en.wikipedia.org/wiki/Hypergeometric_function + - http://mathworld.wolfram.com/HypergeometricFunction.html + + TODO + ''' return GenericHypergeometricFunction([a,b],[c],init); -def __check_list(list_of_elements, invalid_vars=[]): - all_vars = []; - for i in range(len(list_of_elements)): - el = list_of_elements[i]; - if(el not in QQ): - if(isinstance(el, str)): - all_vars += [el]; - else: - all_vars += [str(v) for v in el.variables()]; - list_of_elements[i] = str(el); - - if(any(el in all_vars for el in invalid_vars)): - raise ValueError("An invalid variable detected in the list.\n\t- Got: %s\n\t- Invalid: %s" %(list_of_elements, invalid_vars)); - - parent = QQ; - if(len(all_vars) > 0): - all_vars = list(set(all_vars)); - parent = PolynomialRing(QQ, all_vars).fraction_field(); - list_of_elements = [parent(el) for el in list_of_elements]; - - return (parent, list_of_elements); - def GenericHypergeometricFunction(num=[],den=[],init=_sage_const_1 ): + ''' + D-finite implementation of the Generalized Hypergeometric Functions qFp(a_1,...,a_q;b_1,...,b_m;x) + + References: + - https://dlmf.nist.gov/16 + - https://en.wikipedia.org/wiki/Generalized_hypergeometric_function + - http://mathworld.wolfram.com/GeneralizedHypergeometricFunction.html + + TODO + ''' ## Checking arguments: num if (not (isinstance(num,list) or isinstance(num,set) or isinstance(num,tuple))): num = [num]; @@ -497,6 +738,16 @@ def GenericHypergeometricFunction(num=[],den=[],init=_sage_const_1 ): ### Mathieu's Functions @cached_function def MathieuD(a=None,q=None,init=()): + ''' + DD-finite implementation of the Matheiu function + + References: + - https://dlmf.nist.gov/28.2 + - https://en.wikipedia.org/wiki/Mathieu_function + - http://mathworld.wolfram.com/MathieuFunction.html + + TODO + ''' params =[]; if(a is None): params += ['a']; @@ -515,15 +766,46 @@ def MathieuD(a=None,q=None,init=()): @cached_function def MathieuSin(a=None,q=None): + ''' + DD-finite implementation of the Mathieu Sine function. + + References: + - https://dlmf.nist.gov/28.2 + - https://en.wikipedia.org/wiki/Mathieu_function + - http://mathworld.wolfram.com/MathieuFunction.html + + This is the sine function with the Mathieu equation (i.e., with initial values + 0 an 1). It is equivalent to MathieuD(a,q,(0,1)). + ''' return MathieuD(a,q,(_sage_const_0 ,_sage_const_1 )); @cached_function def MathieuCos(a=None,q=None): + ''' + DD-finite implementation of the Mathieu Cosine function. + + References: + - https://dlmf.nist.gov/28.2 + - https://en.wikipedia.org/wiki/Mathieu_function + - http://mathworld.wolfram.com/MathieuFunction.html + + This is the cosine function with the Mathieu equation (i.e., with initial values + 1 an 0). It is equivalent to MathieuD(a,q,(1,0)). + ''' return MathieuD(a,q,(_sage_const_1 ,_sage_const_0 )); ### Modified Mathieu's Functions @cached_function def ModifiedMathieuD(a=None,q=None,init=()): + ''' + DD-finite implementation of the Modified Matheiu functions. + + References: + - hhttps://dlmf.nist.gov/28.20 + - https://en.wikipedia.org/wiki/Mathieu_function + + TODO + ''' params =[]; if(a is None): params += ['a']; @@ -542,15 +824,45 @@ def ModifiedMathieuD(a=None,q=None,init=()): @cached_function def ModifiedMathieuSin(a=None,q=None): + ''' + DD-finite implementation of the Modified Matheiu functions. + + References: + - hhttps://dlmf.nist.gov/28.20 + - https://en.wikipedia.org/wiki/Mathieu_function + + This is the sine function with the Mathieu equation (i.e., with initial values + 0 an 1). It is equivalent to ModifiedMathieuD(a,q,(0,1)). + ''' return ModifiedMathieuD(a,q,(_sage_const_0 ,_sage_const_1 )); @cached_function def ModifiedMathieuCos(a=None,q=None): + ''' + DD-finite implementation of the Modified Matheiu functions. + + References: + - hhttps://dlmf.nist.gov/28.20 + - https://en.wikipedia.org/wiki/Mathieu_function + + This is the cosine function with the Mathieu equation (i.e., with initial values + 1 an 0). It is equivalent to ModifiedMathieuD(a,q,(1,0)). + ''' return ModifiedMathieuD(a,q,(_sage_const_1 ,_sage_const_0 )); ### Hill's equation @cached_function def HillD(a=None,q=None,init=()): + ''' + DD-finite implementation of the Hill equation. + + References: + - https://dlmf.nist.gov/28.29 + - https://en.wikipedia.org/wiki/Hill_differential_equation + - http://mathworld.wolfram.com/HillsDifferentialEquation.html + + TODO + ''' params =[]; destiny_ring = DFinite; @@ -577,6 +889,16 @@ def HillD(a=None,q=None,init=()): ### Airy's functions @cached_function def AiryD(init=()): + ''' + D-finite implementation of the Airy's functions (Ai(x), Bi(x)). + + References: + - https://dlmf.nist.gov/9.2 + - https://en.wikipedia.org/wiki/Airy_function + - http://mathworld.wolfram.com/AiryFunctions.html + + TODO + ''' name = None; if(len(init) >= 2): ## Complete Airy function, we can build the name ## Rejecting the zero case @@ -606,6 +928,16 @@ def AiryD(init=()): ### Parabolic Cylinder Functions @cached_function def ParabolicCylinderD(a=None,b=None,c=None, init=()): + ''' + D-finite implementation of Parabolic Cylinder functions. + + References: + - https://dlmf.nist.gov/12.2 + - https://en.wikipedia.org/wiki/Parabolic_cylinder_function + - http://mathworld.wolfram.com/ParabolicCylinderDifferentialEquation.html + + TODO + ''' params =[]; if(a is None): params += ['a']; @@ -617,25 +949,27 @@ def ParabolicCylinderD(a=None,b=None,c=None, init=()): destiny_ring = DFinite; ra = a; rb = b; rc = c; if(len(params) > _sage_const_0 ): destiny_ring = ParametrizedDDRing(DFinite, params); - if(len(params) == 3 ): - ra,rb,rc = destiny_ring.parameters(); - elif(len(params) == 2 and 'a' not in params): - rb,rc = destiny_ring.parameters(); - elif(len(params) == 2 and 'b' not in params): - ra,rc = destiny_ring.parameters(); - elif(len(params) == 2 and 'c' not in params): - ra,rb = destiny_ring.parameters(); - elif('a' in params): - ra = destiny_ring.parameters()[0]; - elif('b' in params): - rb = destiny_ring.parameters()[0]; - elif('c' in params): - rc = destiny_ring.parameters()[0]; + if('a' in params): + ra = destiny_ring.parameter('a'); + if('b' in params): + rb = destiny_ring.parameter('b'); + if('c' in params): + rc = destiny_ring.parameter('c'); return destiny_ring.element([(rc+rb*x+ra*x**2),0,1], init, name=DinamicString("ParabolicCylinder(_1,_2,_3;_4)", [repr(ra), repr(rb), repr(rc), "x"])); ###### ELLIPTIC INTEGRALS ## Legendre elliptic integrals def EllipticLegendreD(kind,var='phi'): + ''' + DD-finite implementation of the Legendre elliptic integrals (F(phi,k), E(phi,k), D(phi,k) + + References: + - https://dlmf.nist.gov/19.2 + - https://en.wikipedia.org/wiki/Legendre_form + - http://mathworld.wolfram.com/EllipticIntegraloftheFirstKind.html & http://mathworld.wolfram.com/EllipticIntegraloftheSecondKind.html & http://mathworld.wolfram.com/EllipticIntegraloftheThirdKind.html + + TODO + ''' if(kind not in [0,1,2]): raise ValueError("The kind of legendre elliptic integral is not valid. Required 0,1 or 2"); if(str(var) not in ['m','phi']): @@ -665,6 +999,194 @@ def EllipticLegendreD(kind,var='phi'): return DDFiniteP.element([0,P**2*s*c,1-P**2*s**2], [0,1], name=name); else: return (EllipticLegendreD(1,var)-EllipticLegendreD(2,var))/P**2; + +###### SPHEROIDAL WAVE FUNCTIONS +## Generalized (or Coulomb) Spheroidal Differential Equation +@cached_function +def CoulombSpheroidalFunctionD(a=None, b=None, c=None, d=None, kind = 1, init=()): + ''' + D-finite implementation of the Coulomb speroidal function + + References: + - https://dlmf.nist.gov/30.12 + + TODO + ''' + if(kind not in [1,2]): + raise TypeValue("Generalized Spheroidal functions only allowed in two different generalizations (1 or 2). Got %s" %kind); + params =[]; + if(a is None): + params += ['a']; + if(b is None): + params += ['b']; + if(c is None): + params += ['c']; + if(d is None): + params += ['d']; + + destiny_ring = DFinite; ra = a; rb = b; rc = c; rd = d; + if(len(params) > _sage_const_0 ): + destiny_ring = ParametrizedDDRing(DFinite, params); + if('a' in params): + ra = destiny_ring.parameter('a'); + if('b' in params): + rb = destiny_ring.parameter('b'); + if('c' in params): + rc = destiny_ring.parameter('c'); + if('d' in params): + rd = destiny_ring.parameter('d'); + + coeffs = [ra*(1-x**2)**2-(rb*(1-x**2))**2-rc**2, -2*x*(1-x**2), (1-x**2)**2]; + if(kind == 1): + coeffs[0] += rd*x*(1-x**2); + else: + coeffs = [el*x**2 for el in coeffs]; + coeffs[0] -= rd*(rd+1)*(1-x**2); + return destiny_ring.element(coeffs, init, name=DinamicString("CoulombSpheroidal(_1,_2,_3,_4;%d;%s)(_5)" %(kind,init), [repr(ra), repr(rb), repr(rc), repr(rd), "x"])); + +@cached_function +def SpheroidalWaveFunctionD(a=None, b=None, c=None, init=()): + ''' + D-finite implementation of the spheroidal wave function. + + References: + - https://dlmf.nist.gov/30.2 + - https://en.wikipedia.org/wiki/Spheroidal_wave_function + - http://mathworld.wolfram.com/SpheroidalWaveFunction.html + + TODO + ''' + params =[]; + if(a is None): + params += ['a']; + if(b is None): + params += ['b']; + if(c is None): + params += ['c']; + + destiny_ring = DFinite; ra = a; rb = b; rc = c; + if(len(params) > _sage_const_0 ): + destiny_ring = ParametrizedDDRing(DFinite, params); + if('a' in params): + ra = destiny_ring.parameter('a'); + if('b' in params): + rb = destiny_ring.parameter('b'); + if('c' in params): + rc = destiny_ring.parameter('c'); + + coeffs = [ra*(1-x**2)**2-(rb*(1-x**2))**2-rc**2, -2*x*(1-x**2), (1-x**2)**2]; + return destiny_ring.element(coeffs, init, name=DinamicString("SpheroidalWave(_1,_2,_3;%s)(_4)" %(str(init)), [repr(ra), repr(rb), repr(rc), "x"])); + +###### HEUN FUNCTIONS +### Fuschian equation +def FuschianD(a = [], gamma = [], q = [], init=()): + ''' + D-finite implementation of the Fuschian equation + + References: + - https://dlmf.nist.gov/31.15 + + TODO + ''' + ## Checking parameters + if (not (isinstance(a,list) or isinstance(a,set) or isinstance(a,tuple))): + a = [a]; + if (not (isinstance(gamma,list) or isinstance(gamma,set) or isinstance(gamma,tuple))): + gamma = [gamma]; + if (not (isinstance(q,list) or isinstance(q,set) or isinstance(q,tuple))): + q = [q]; + if(len(a) == 0 or len(a) != len(gamma) or len(a) != len(q)): + raise ValueError("The three arguments a, gamma and q must be non-empty lists of the same length"); + N = len(a); + + ## Getting the parameters + parent, new_all = __check_list(a+gamma+q, [str(el) for el in DFinite.variables()]); + + a = new_all[:N]; + gamma = new_all[N:2*N]; + q = new_all[-N:]; + + if(sum(q) != 0): + raise ValueError("The q parameters must sum up zero. Got %s" %(sum(q))); + + if(parent != QQ): + destiny_ring = ParametrizedDDRing(DFinite, [str(v) for v in parent.gens()]); + else: + destiny_ring = DFinite; + + a = [destiny_ring.base()(el) for el in a]; + gamma = [destiny_ring.base()(el) for el in gamma]; + q = [destiny_ring.base()(el) for el in q]; + x = destiny_ring.variables()[0]; + ## Computing the differential equation + P = prod([x-a[i] for i in range(N)]); R = P.parent(); + Q = [R(P/(x-a[i])) for i in range(N)]; + + coeffs = [sum(q[i]*Q[i] for i in range(N)), sum(gamma[i]*Q[i] for i in range(N)), P]; + + ## Returning the solution + return destiny_ring.element(coeffs, init, name=DinamicString("Fuschian(_1;_2;_3;%s)(_4)" %(str(init)), [repr(a), repr(gamma), repr(q), "x"])); + +### Heun's function +def HeunD(a=None,b=None,d=None,g=None,e=None,q=None): + ''' + D-finite implementation of the Heun's functions. + + References: + - https://dlmf.nist.gov/31.2 + - https://en.wikipedia.org/wiki/Heun_function + - http://mathworld.wolfram.com/HeunsDifferentialEquation.html + + TODO + ''' + pars = ["a","b","d","g","e","q"]; + args = [a,b,d,g,e,q]; + for i in range(len(args)): + if(args[i] is not None): + pars[i] = args[i]; + + parent, new_all = __check_list(pars, [str(el) for el in DFinite.variables()]); + ra,rb,rd,rg,re,rq = new_all; + + al = rg+rd+re-rb-1; + f = FuschianD(a=[0,1,ra],gamma=[rd,rg,re],q=[-rq/ra,(rq-al*rb)/(ra-1), (rq/ra)-((rq-al*rb)/(ra-1))]); + f._DDFunction__name = DinamicString("Heun(_1,_2,_3,_4,_5,_6)(_7)", [repr(ra),repr(rb),repr(rd),repr(rg),repr(re),repr(rq),"x"]); + return f; + +###### COULOMB FUNCTIONS +def CoulombF(m=None, l=None): + ''' + D-finite implementation of the regular Coulomb wave function (F_l(mu,ro)). + + References: + - https://dlmf.nist.gov/33.2 + - https://en.wikipedia.org/wiki/Coulomb_wave_function + + TODO + ''' + params =[]; + if(m is None): + params += ['m']; + if(l is None): + params += ['l']; + destiny_ring = DFinite; rm = m; rl = l; + if(len(params) > _sage_const_0 ): + destiny_ring = ParametrizedDDRing(DFinite, params); + if('m' in params): + rm = destiny_ring.parameter('m'); + if('l' in params): + rl = destiny_ring.parameter('l'); + x = destiny_ring.variables()[0]; + init = []; + + if(l in ZZ): ## Power series solution + if(l in [-1,0]): ## Special cases + init = [0,1]; + elif(l > 0): + init = [0 for i in range(l+1)] + [1]; + + return destiny_ring.element([x**2-2*rm*x-rl*(rl+1), 0, x**2], init=init, name=DinamicString("CoulombF(_1;_2)(_3)", [repr(rm), repr(rl), "x"])); + ################################################################################## ################################################################################## @@ -809,20 +1331,7 @@ def DAlgebraic(polynomial, init=[], dR=None): ## Returning the DDFunction ################################################## return destiny_ring.element(equation, init); - -################################################################################## -################################################################################## -### -### Particular differential Equations -### -################################################################################## -################################################################################## -### Federschwinger // Swing with mass -## f'' + 2a f' + b^2f = ksin(cx) -@cached_function -def Federschwinger(a,b,c,k,init=(_sage_const_0 ,_sage_const_0 )): - return DDFinite.element([b**_sage_const_2 ,_sage_const_2 *a,_sage_const_1 ], init, k*Sin(c*x)); - + ################################################################################## ################################################################################## ### @@ -831,6 +1340,9 @@ def Federschwinger(a,b,c,k,init=(_sage_const_0 ,_sage_const_0 )): ################################################################################## ################################################################################## def __decide_parent(input, parent = None, depth = 1): + ''' + TODO + ''' if(parent is None): R = input.parent(); if(isinstance(R, sage.symbolic.ring.SymbolicRing)): @@ -852,6 +1364,36 @@ def __decide_parent(input, parent = None, depth = 1): raise TypeError("The object provided is not in a valid Parent", e); return parent.base()(input), parent; + +def __check_list(list_of_elements, invalid_vars=[]): + ''' + TODO + ''' + all_vars = []; + for i in range(len(list_of_elements)): + el = list_of_elements[i]; + if(el not in QQ): + if(isinstance(el, str)): + all_vars += [el]; + else: + from sage.rings.fraction_field import is_FractionField; + if(is_FractionField(el.parent())): + all_vars += [str(v) for v in el.numerator().variables()]; + all_vars += [str(v) for v in el.denominator().variables()]; + else: + all_vars += [str(v) for v in el.variables()]; + list_of_elements[i] = str(el); + + if(any(el in all_vars for el in invalid_vars)): + raise ValueError("An invalid variable detected in the list.\n\t- Got: %s\n\t- Invalid: %s" %(list_of_elements, invalid_vars)); + + parent = QQ; + if(len(all_vars) > 0): + all_vars = list(set(all_vars)); + parent = PolynomialRing(QQ, all_vars).fraction_field(); + list_of_elements = [parent(el) for el in list_of_elements]; + + return (parent, list_of_elements); #### Usual running after defining everything DD_EXAMPLES_LOAD(); diff --git a/ajpastor/dd_functions/ddFunction.py b/ajpastor/dd_functions/ddFunction.py index c712ec8..d90ecf1 100644 --- a/ajpastor/dd_functions/ddFunction.py +++ b/ajpastor/dd_functions/ddFunction.py @@ -64,6 +64,9 @@ def _aux_derivation(p): ##################################################### ### Class for DD-Rings ##################################################### +def is_DDRing(ring): + return isinstance(ring, DDRing); + class DDRing (Ring_w_Sequence, IntegralDomain): Element = None; @@ -698,6 +701,9 @@ class DDRing (Ring_w_Sequence, IntegralDomain): ### Ring class for Parametrized DD Functions ### ############################################################################# +def is_ParametrizedDDRing(ring): + return isinstance(ring, ParametrizedDDRing); + class ParametrizedDDRing(DDRing): @staticmethod @@ -879,6 +885,9 @@ class ParametrizedDDRing(DDRing): ##################################################### ### Class for DD-Functions ##################################################### +def is_DDFunction(func): + return isinstance(func, DDFunction); + class DDFunction (IntegralDomainElement): ##################################### ### Init and Interface methods @@ -2628,6 +2637,6 @@ DFinite._DDRing__get_recurrence = __get_recurrence; ################################################################################################### ### PACKAGE ENVIRONMENT VARIABLES ################################################################################################### -__all__ = ["DDRing", "DFinite", "DDFinite", "command", "zero_extraction", "polynomial_computation", "ParametrizedDDRing", "DFiniteP"]; +__all__ = ["is_DDRing", "is_ParametrizedDDRing", "is_DDFunction", "DDRing", "DFinite", "DDFinite", "command", "zero_extraction", "polynomial_computation", "ParametrizedDDRing", "DFiniteP"]; diff --git a/releases/diff_defined_functions__0.5.zip b/releases/diff_defined_functions__0.5.zip index b2558227064a9a8ba1d0fe9850943658a3a5f6db..3509c980dc2f9d1d34446f151ca377b9f3e98383 100644 GIT binary patch delta 39447 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�$DZE>h{H+|oK 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 diff --git a/releases/old/diff_defined_functions__0.5__18.09.11_17:24:39.zip b/releases/old/diff_defined_functions__0.5__18.09.11_17:24:39.zip new file mode 100644 index 0000000000000000000000000000000000000000..3509c980dc2f9d1d34446f151ca377b9f3e98383 GIT binary patch literal 113648 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 Rcz|!;%fNnqE*$XN{{Xq!@2&s< literal 0 HcmV?d00001 -- 2.1.4