Ticket #15057: trac15057_2.patch

File trac15057_2.patch, 7.5 KB (added by eviatarbach, 8 years ago)
  • sage/functions/generalized.py

    # HG changeset patch
    # User Eviatar Bach <eviatarbach@gmail.com>
    # Date 1376766516 25200
    # Node ID cee69e758af138e94a8b672a79f4e7724092285e
    # Parent  8c4989a7e8d20a16ad1c464620ee616c4cde719a
    Adding SymPy conversions
    
    diff --git a/sage/functions/generalized.py b/sage/functions/generalized.py
    a b  
    8282        dirac_delta(0)
    8383        sage: dirac_delta(x)
    8484        dirac_delta(x)
     85        sage: integrate(dirac_delta(x), x, -1, 1, algorithm='sympy')
     86        1
    8587
    8688    REFERENCES:
    8789 
     
    109111
    110112            sage: loads(dumps(dirac_delta(x)))
    111113            dirac_delta(x)
     114            sage: dirac_delta(x)._sympy_()
     115            DiracDelta(x)
    112116        """
    113117        BuiltinFunction.__init__(self, "dirac_delta", latex_name=r"\delta",
    114                                    conversions=dict(maxima='delta',
    115                                     mathematica='DiracDelta'))
    116    
     118                                 conversions=dict(mathematica='DiracDelta',
     119                                                  maxima='delta',
     120                                                  sympy='DiracDelta'))
     121
    117122    def _eval_(self, x):
    118123        """
    119124        INPUT:
     
    554559            0
    555560            sage: kronecker_delta(1,1)
    556561            1
     562            sage: y = var('y')
     563            sage: kronecker_delta(x, y)._sympy_()
     564            KroneckerDelta(x, y)
    557565        """
    558         BuiltinFunction.__init__(self, "kronecker_delta", nargs=2,
    559                                         conversions=dict(maxima='kron_delta',
    560                                         mathematica='KroneckerDelta'))
     566        BuiltinFunction.__init__(self, "kronecker_delta", nargs=2,
     567                                 conversions=dict(mathematica='KroneckerDelta',
     568                                                  maxima='kron_delta',
     569                                                  sympy='KroneckerDelta'))
    561570
    562571    def _eval_(self, m, n):
    563572        """
  • sage/functions/min_max.py

    diff --git a/sage/functions/min_max.py b/sage/functions/min_max.py
    a b  
    189189            max(x, 5)
    190190            sage: latex(max_symbolic(x,5))
    191191            \max\left(x, 5\right)
     192            sage: max_symbolic(x, 5)._sympy_()
     193            Max(5, x)
    192194        """
    193         BuiltinFunction.__init__(self, 'max', nargs=0, latex_name="\max")
     195        BuiltinFunction.__init__(self, 'max', nargs=0, latex_name="\max",
     196                                 conversions=dict(sympy='Max'))
    194197
    195198    def _eval_(self, *args):
    196199        """
     
    275278            min(x, 5)
    276279            sage: latex(min_symbolic(x,5))
    277280            \min\left(x, 5\right)
     281            sage: min_symbolic(x, 5)._sympy_()
     282            Min(5, x)
    278283        """
    279         BuiltinFunction.__init__(self, 'min', nargs=0, latex_name="\min")
     284        BuiltinFunction.__init__(self, 'min', nargs=0, latex_name="\min",
     285                                 conversions=dict(sympy='Min'))
    280286
    281287    def _eval_(self, *args):
    282288        """
  • sage/functions/other.py

    diff --git a/sage/functions/other.py b/sage/functions/other.py
    a b  
    277277            \mathrm{abs}
    278278            sage: latex(abs(x))
    279279            {\left| x \right|}
     280            sage: abs(x)._sympy_()
     281            Abs(x)
    280282
    281283        Test pickling::
    282284
    283285            sage: loads(dumps(abs(x)))
    284286            abs(x)
    285287        """
    286         GinacFunction.__init__(self, "abs", latex_name=r"\mathrm{abs}")
     288        GinacFunction.__init__(self, "abs", latex_name=r"\mathrm{abs}",
     289                               conversions=dict(sympy='Abs'))
    287290
    288291abs = abs_symbolic = Function_abs()
    289292
     
    355358
    356359            sage: latex(ceil(x))
    357360            \left \lceil x \right \rceil
     361            sage: ceil(x)._sympy_()
     362            ceiling(x)
    358363
    359364        ::
    360365
     
    369374            ceil
    370375        """
    371376        BuiltinFunction.__init__(self, "ceil",
    372                                    conversions=dict(maxima='ceiling'))
    373                                    
     377                                 conversions=dict(maxima='ceiling',
     378                                                  sympy='ceiling'))
     379
    374380    def _print_latex_(self, x):
    375381        r"""
    376382        EXAMPLES::
     
    868874            4.78749174278205
    869875            sage: log_gamma(CC(-2.5))
    870876            -0.0562437164976740 + 3.14159265358979*I
     877            sage: log_gamma(x)._sympy_()
     878            loggamma(x)
    871879
    872880        ``conjugate(log_gamma(x))==log_gamma(conjugate(x))`` unless on the branch
    873881        cut, which runs along the negative real axis.::
     
    886894            +Infinity
    887895        """
    888896        GinacFunction.__init__(self, "log_gamma", latex_name=r'\log\Gamma',
    889                 conversions={'mathematica':'LogGamma','maxima':'log_gamma'})
     897                               conversions=dict(mathematica='LogGamma',
     898                                                maxima='log_gamma',
     899                                                sympy='loggamma'))
    890900
    891901log_gamma = Function_log_gamma()
    892902
     
    11001110            psi(x)
    11011111            sage: t.subs(x=.2)
    11021112            -5.28903989659219
     1113            sage: psi(x)._sympy_()
     1114            polygamma(0, x)
    11031115        """
    11041116        GinacFunction.__init__(self, "psi", nargs=1, latex_name='\psi',
    1105                 conversions=dict(maxima='psi[0]', mathematica='PolyGamma'))
     1117                               conversions=dict(mathematica='PolyGamma',
     1118                                                maxima='psi[0]',
     1119                                                sympy='digamma'))
    11061120
    11071121class Function_psi2(GinacFunction):
    11081122    def __init__(self):
     
    11361150            sage: psi2(2, .5).n(100)
    11371151            -16.828796644234319995596334261
    11381152
    1139         Tests::
     1153        TESTS::
    11401154
    11411155            sage: psi2(n, x).derivative(n)
    11421156            Traceback (most recent call last):
     
    11471161            \psi\left(2, x\right)
    11481162            sage: loads(dumps(psi2(2,x)+1))
    11491163            psi(2, x) + 1
     1164            sage: psi(2, x)._sympy_()
     1165            polygamma(2, x)
    11501166        """
    11511167        GinacFunction.__init__(self, "psi", nargs=2, latex_name='\psi',
    1152                 conversions=dict(mathematica='PolyGamma'))
     1168                               conversions=dict(mathematica='PolyGamma',
     1169                                                sympy='polygamma'))
    11531170
    11541171    def _maxima_init_evaled_(self, n, x):
    11551172        """
     
    18731890
    18741891            sage: loads(dumps(real_part))
    18751892            real_part
     1893            sage: real_part(x)._sympy_()
     1894            re(x)
    18761895
    18771896        Check if #6401 is fixed::
    18781897
     
    18841903            \Re \left( f\left(x\right) \right)
    18851904        """
    18861905        GinacFunction.__init__(self, "real_part",
    1887                                    conversions=dict(maxima='realpart'))
     1906                               conversions=dict(maxima='realpart',
     1907                                                sympy='re'))
    18881908
    18891909    def _eval_numpy_(self, x):
    18901910        """
     
    19261946            2
    19271947            sage: loads(dumps(imag_part))
    19281948            imag_part
     1949            sage: imag_part(x)._sympy_()
     1950            im(x)
    19291951
    19301952        Check if #6401 is fixed::
    19311953
     
    19371959            \Im \left( f\left(x\right) \right)
    19381960        """
    19391961        GinacFunction.__init__(self, "imag_part",
    1940                                    conversions=dict(maxima='imagpart'))
     1962                               conversions=dict(maxima='imagpart',
     1963                                                sympy='im'))
    19411964
    19421965    def _eval_numpy_(self, x):
    19431966        """