Exemplo n.º 1
0
 def testGamma(self):
     self.compare(mathics.Expression('Gamma', mathics.Symbol('Global`z')),
                  sympy.gamma(sympy.Symbol('_Mathics_User_Global`z')))
     self.compare(
         mathics.Expression('Gamma', mathics.Symbol('Global`z'),
                            mathics.Symbol('Global`x')),
         sympy.uppergamma(sympy.Symbol('_Mathics_User_Global`z'),
                          sympy.Symbol('_Mathics_User_Global`x')))
Exemplo n.º 2
0
 def testGamma(self):
     self.compare(
         mathics.Expression("Gamma", mathics.Symbol("Global`z")),
         sympy.gamma(sympy.Symbol("_Mathics_User_Global`z")),
     )
     self.compare(
         mathics.Expression(
             "Gamma", mathics.Symbol("Global`z"), mathics.Symbol("Global`x")
         ),
         sympy.uppergamma(
             sympy.Symbol("_Mathics_User_Global`z"),
             sympy.Symbol("_Mathics_User_Global`x"),
         ),
     )
Exemplo n.º 3
0
 def testDerivative(self):
     self.compare(
         mathics.Expression(
             'D', mathics.Symbol('Global`x'), mathics.Symbol('Global`y')),
         sympy.Derivative(
             sympy.Symbol('_Mathics_User_Global`x'),
             sympy.Symbol('_Mathics_User_Global`y')))
Exemplo n.º 4
0
 def testAdd(self):
     self.compare(
         mathics.Expression(
             'Plus', mathics.Integer(1), mathics.Symbol('Global`x')),
         sympy.Add(
             sympy.Integer(1),
             sympy.Symbol('_Mathics_User_Global`x')))
Exemplo n.º 5
0
    def testDerivative2(self):
        kwargs = {'converted_functions': set(['Global`f'])}

        head = mathics.Expression(
            mathics.Expression('System`Derivative', mathics.Integer(1),
                               mathics.Integer(0)), mathics.Symbol('Global`f'))
        expr = mathics.Expression(head, mathics.Symbol('Global`x'),
                                  mathics.Symbol('Global`y'))

        sfxy = sympy.Function(str('_Mathics_User_Global`f'))(
            sympy.Symbol('_Mathics_User_Global`x'),
            sympy.Symbol('_Mathics_User_Global`y'))
        sym_expr = sympy.Derivative(sfxy,
                                    sympy.Symbol('_Mathics_User_Global`x'))

        self.compare_to_sympy(expr, sym_expr, **kwargs)
Exemplo n.º 6
0
 def testIntegrate(self):
     self.compare(
         mathics.Expression(
             'Integrate', mathics.Symbol('Global`x'),
             mathics.Symbol('Global`y')),
         sympy.Integral(
             sympy.Symbol('_Mathics_User_Global`x'),
             sympy.Symbol('_Mathics_User_Global`y')))
Exemplo n.º 7
0
    def testConvertedFunctions(self):
        kwargs = {'converted_functions': set(['Global`f'])}

        marg1 = mathics.Expression('Global`f', mathics.Symbol('Global`x'))
        sarg1 = sympy.Function(str('_Mathics_User_Global`f'))(
            sympy.Symbol('_Mathics_User_Global`x'))
        self.compare(marg1, sarg1, **kwargs)

        marg2 = mathics.Expression('Global`f', mathics.Symbol('Global`x'),
                                   mathics.Symbol('Global`y'))
        sarg2 = sympy.Function(str('_Mathics_User_Global`f'))(
            sympy.Symbol('_Mathics_User_Global`x'),
            sympy.Symbol('_Mathics_User_Global`y'))
        self.compare(marg2, sarg2, **kwargs)

        self.compare(
            mathics.Expression('D', marg2, mathics.Symbol('Global`x')),
            sympy.Derivative(sarg2, sympy.Symbol('_Mathics_User_Global`x')),
            **kwargs)
Exemplo n.º 8
0
 def testDerivative(self):
     self.compare(
         mathics.Expression(
             "D", mathics.Symbol("Global`x"), mathics.Symbol("Global`y")
         ),
         sympy.Derivative(
             sympy.Symbol("_Mathics_User_Global`x"),
             sympy.Symbol("_Mathics_User_Global`y"),
         ),
     )
Exemplo n.º 9
0
 def testIntegrate(self):
     self.compare(
         mathics.Expression(
             "Integrate", mathics.Symbol("Global`x"), mathics.Symbol("Global`y")
         ),
         sympy.Integral(
             sympy.Symbol("_Mathics_User_Global`x"),
             sympy.Symbol("_Mathics_User_Global`y"),
         ),
     )
Exemplo n.º 10
0
    def testDerivative2(self):
        kwargs = {"converted_functions": set(["Global`f"])}

        head = mathics.Expression(
            mathics.Expression(
                "System`Derivative", mathics.Integer(1), mathics.Integer(0)
            ),
            mathics.Symbol("Global`f"),
        )
        expr = mathics.Expression(
            head, mathics.Symbol("Global`x"), mathics.Symbol("Global`y")
        )

        sfxy = sympy.Function(str("_Mathics_User_Global`f"))(
            sympy.Symbol("_Mathics_User_Global`x"),
            sympy.Symbol("_Mathics_User_Global`y"),
        )
        sym_expr = sympy.Derivative(sfxy, sympy.Symbol("_Mathics_User_Global`x"))

        self.compare_to_sympy(expr, sym_expr, **kwargs)
Exemplo n.º 11
0
    def testConvertedFunctions(self):
        kwargs = {"converted_functions": set(["Global`f"])}

        marg1 = mathics.Expression("Global`f", mathics.Symbol("Global`x"))
        sarg1 = sympy.Function(str("_Mathics_User_Global`f"))(
            sympy.Symbol("_Mathics_User_Global`x")
        )
        self.compare(marg1, sarg1, **kwargs)

        marg2 = mathics.Expression(
            "Global`f", mathics.Symbol("Global`x"), mathics.Symbol("Global`y")
        )
        sarg2 = sympy.Function(str("_Mathics_User_Global`f"))(
            sympy.Symbol("_Mathics_User_Global`x"),
            sympy.Symbol("_Mathics_User_Global`y"),
        )
        self.compare(marg2, sarg2, **kwargs)

        self.compare(
            mathics.Expression("D", marg2, mathics.Symbol("Global`x")),
            sympy.Derivative(sarg2, sympy.Symbol("_Mathics_User_Global`x")),
            **kwargs
        )
Exemplo n.º 12
0
 def testExpression(self):
     self.compare(
         mathics.Expression('Sin', mathics.Symbol('Global`x')),
         sympy.sin(sympy.Symbol('_Mathics_User_Global`x')))
Exemplo n.º 13
0
 def testList(self):
     self.compare(mathics.Expression('List', mathics.Integer(1)), [1])
Exemplo n.º 14
0
 def testAdd(self):
     self.compare(
         mathics.Expression("Plus", mathics.Integer(1), mathics.Symbol("Global`x")),
         sympy.Add(sympy.Integer(1), sympy.Symbol("_Mathics_User_Global`x")),
     )
Exemplo n.º 15
0
 def testExpression(self):
     self.compare(
         mathics.Expression("Sin", mathics.Symbol("Global`x")),
         sympy.sin(sympy.Symbol("_Mathics_User_Global`x")),
     )