def test_conv1b(): x = sympy.Symbol("x") assert sympify(x) == Symbol("x") assert sympify(x) != Symbol("y") x = sympy.Symbol("y") assert sympify(x) != Symbol("x") assert sympify(x) == Symbol("y")
def test_conv9b(): x = Symbol("x") y = Symbol("y") assert sympify(sympy.I) == I assert sympify(2*sympy.I+3) == 2*I+3 assert sympify(2*sympy.I/5+sympy.S(3)/5) == 2*I/5+Integer(3)/5 assert sympify(sympy.Symbol("x")*sympy.I + 3) == x*I+3 assert sympify(sympy.Symbol("x") + sympy.I*sympy.Symbol("y")) == x+I*y
def test_conv2b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x*y assert sympify(e) == Symbol("x")*Symbol("y") e = x*y*z assert sympify(e) == Symbol("x")*Symbol("y")*Symbol("z")
def test_conv3b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x+y assert sympify(e) == Symbol("x")+Symbol("y") e = x+y+z assert sympify(e) == Symbol("x")+Symbol("y")+Symbol("z")
def test_conv4b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x**y assert sympify(e) == Symbol("x")**Symbol("y") e = (x+y)**z assert sympify(e) == (Symbol("x")+Symbol("y"))**Symbol("z")
def test_conv6b(): x = sympy.Symbol("x") y = sympy.Symbol("y") assert sympify(x / 3) == Symbol("x") / 3 assert sympify(3 * x) == 3 * Symbol("x") assert sympify(3 + x) == 3 + Symbol("x") assert sympify(3 - x) == 3 - Symbol("x") assert sympify(x / y) == Symbol("x") / Symbol("y")
def test_conv3b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x + y assert sympify(e) == Symbol("x") + Symbol("y") e = x + y + z assert sympify(e) == Symbol("x") + Symbol("y") + Symbol("z")
def test_conv2b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x * y assert sympify(e) == Symbol("x") * Symbol("y") e = x * y * z assert sympify(e) == Symbol("x") * Symbol("y") * Symbol("z")
def test_conv6b(): x = sympy.Symbol("x") y = sympy.Symbol("y") assert sympify(x/3) == Symbol("x") / 3 assert sympify(3*x) == 3*Symbol("x") assert sympify(3+x) == 3+Symbol("x") assert sympify(3-x) == 3-Symbol("x") assert sympify(x/y) == Symbol("x") / Symbol("y")
def test_conv4b(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") e = x**y assert sympify(e) == Symbol("x")**Symbol("y") e = (x + y)**z assert sympify(e) == (Symbol("x") + Symbol("y"))**Symbol("z")
def test_exp(): x = Symbol("x") e1 = sympy.exp(sympy.Symbol("x")) e2 = exp(x) assert sympify(e1) == e2 assert e1 == e2._sympy_() e1 = sympy.exp(sympy.Symbol("x")).diff(sympy.Symbol("x")) e2 = exp(x).diff(x) assert sympify(e1) == e2 assert e1 == e2._sympy_()
def test_conv8(): e1 = sympy.Function("f")(sympy.Symbol("x")) e2 = function_symbol("f", Symbol("x")) assert e2._sympy_() == e1 assert sympify(e1) == e2 e3 = sympy.Function("q")(sympy.Symbol("t")) e4 = function_symbol("q", Symbol("t")) assert e4._sympy_() == e3 assert e4._sympy_() != e1 assert sympify(e3) == e4 assert sympify(e3) != e2
def test_conv10b(): A = sympy.Matrix([[sympy.Symbol("x"), sympy.Symbol("y")], [sympy.Symbol("z"), sympy.Symbol("t")]]) assert sympify(A) == densematrix(2, 2, [Symbol("x"), Symbol("y"), Symbol("z"), Symbol("t")]) B = sympy.Matrix([[1, 2], [3, 4]]) assert sympify(B) == densematrix(2, 2, [Integer(1), Integer(2), Integer(3), Integer(4)]) C = sympy.Matrix([[7, sympy.Symbol("y")], [sympy.Function("g")(sympy.Symbol("z")), 3 + 2*sympy.I]]) assert sympify(C) == densematrix(2, 2, [Integer(7), Symbol("y"), function_symbol("g", Symbol("z")), 3 + 2*I])
def test_conv11(): x = sympy.Symbol("x") y = sympy.Symbol("y") x1 = Symbol("x") y1 = Symbol("y") e1 = sympy.Subs(sympy.Derivative(sympy.Function("f")(x, y), x), [x, y], [y, y]) e2 = Subs(Derivative(function_symbol("f", x1, y1), [x1]), [x1, y1], [y1, y1]) e3 = Subs(Derivative(function_symbol("f", x1, y1), [x1]), [y1, x1], [x1, y1]) assert sympify(e1) == e2 assert sympify(e1) != e3 assert e2._sympy_() == e1 assert e3._sympy_() != e1
def test_abs(): x = Symbol("x") e1 = abs(sympy.Symbol("x")) e2 = abs(x) assert sympify(e1) == e2 assert e1 == e2._sympy_() e1 = abs(2*sympy.Symbol("x")) e2 = 2*abs(x) assert sympify(e1) == e2 assert e1 == e2._sympy_() y = Symbol("y") e1 = abs(sympy.Symbol("y")*sympy.Symbol("x")) e2 = abs(y*x) assert sympify(e1) == e2 assert e1 == e2._sympy_()
def test_tuples_lists(): x = sympy.Symbol("x") y = sympy.Symbol("y") z = sympy.Symbol("z") l = [x, y, z, x*y, z**y] t = (x, y, z, x*y, z**y) x = Symbol("x") y = Symbol("y") z = Symbol("z") l2 = [x, y, z, x*y, z**y] t2 = (x, y, z, x*y, z**y) assert sympify(l) == l2 assert sympify(t) == t2 assert sympify(l) != t2 assert sympify(t) != l2 assert l == l2 assert t == t2 assert l != t2 assert t != l2
def test_conv8b(): e1 = sympy.Function("f")(sympy.Symbol("x")) e2 = sympy.Function("g")(sympy.Symbol("x"), sympy.Symbol("y")) assert sympify(e1) == function_symbol("f", Symbol("x")) assert sympify(e2) != function_symbol("f", Symbol("x")) assert sympify(e2) == function_symbol("g", Symbol("x"), Symbol("y")) e3 = sympy.Function("q")(sympy.Symbol("t")) assert sympify(e3) == function_symbol("q", Symbol("t")) assert sympify(e3) != function_symbol("f", Symbol("t")) assert sympify(e3) != function_symbol("q", Symbol("t"), Symbol("t"))
def test_error3(): raises(SympifyError, lambda: sympify(" x "))
def test_constants(): assert sympify(sympy.E) == E assert sympy.E == E._sympy_() assert sympify(sympy.pi) == pi assert sympy.pi == pi._sympy_()
def test_sympify_error1a(): e = sympify("if")
def test_sympify_error1a(): raises(SympifyError, lambda: sympify("if"))
def test_error3(): e = sympify(" x ")
def test_sympify_error1b(): assert not sympify("if", raise_error=False)
def test_sympify1(): assert sympify(1) == Integer(1) assert sympify(2) != Integer(1) assert sympify(-5) == Integer(-5) assert sympify(Integer(3)) == Integer(3)
import sys sys.path.append("..") from timeit import default_timer as clock from csympy import var, sympify, function_symbol, Symbol import sympy s = open("expr.txt").read() print "Converting to SymPy..." e = sympy.sympify(s) print "Converting to SymEngine..." ce = sympify(e) print " Done." print "SymPy subs:" t1 = clock() f = e.subs(sympy.Function("q5")(sympy.Symbol("t")), sympy.Symbol("sq5")) t2 = clock() print "Total time:", t2-t1, "s" print "SymEngine subs:" t1 = clock() cf = ce.subs(function_symbol("q5", Symbol("t")), Symbol("sq5")) t2 = clock() print "Total time:", t2-t1, "s" print "SymPy diff:" t1 = clock() g = f.diff(sympy.Symbol("sq5")) t2 = clock() print "Total time:", t2-t1, "s" print "SymEngine diff:" t1 = clock() cg = cf.diff(Symbol("sq5")) t2 = clock()
def test_conv5b(): x = sympy.Integer(5) y = sympy.Integer(6) assert sympify(x) == Integer(5) assert sympify(x / y) == Integer(5) / Integer(6)
def test_conv7b(): x = sympy.Symbol("x") y = sympy.Symbol("y") assert sympify(sympy.sin(x/3)) == sin(Symbol("x") / 3) assert sympify(sympy.sin(x/3)) != cos(Symbol("x") / 3) assert sympify(sympy.cos(x/3)) == cos(Symbol("x") / 3)
def test_conv5b(): x = sympy.Integer(5) y = sympy.Integer(6) assert sympify(x) == Integer(5) assert sympify(x/y) == Integer(5) / Integer(6)
import sys sys.path.append("..") from timeit import default_timer as clock from csympy import var, sympify, function_symbol, Symbol import sympy s = open("expr.txt").read() print "Converting to SymPy..." e = sympy.sympify(s) print "Converting to SymEngine..." ce = sympify(e) print " Done." print "SymPy subs:" t1 = clock() f = e.subs(sympy.Function("q5")(sympy.Symbol("t")), sympy.Symbol("sq5")) t2 = clock() print "Total time:", t2 - t1, "s" print "SymEngine subs:" t1 = clock() cf = ce.subs(function_symbol("q5", Symbol("t")), Symbol("sq5")) t2 = clock() print "Total time:", t2 - t1, "s" print "SymPy diff:" t1 = clock() g = f.diff(sympy.Symbol("sq5")) t2 = clock() print "Total time:", t2 - t1, "s" print "SymEngine diff:" t1 = clock() cg = cf.diff(Symbol("sq5")) t2 = clock()
def test_conv7b(): x = sympy.Symbol("x") y = sympy.Symbol("y") assert sympify(sympy.sin(x / 3)) == sin(Symbol("x") / 3) assert sympify(sympy.sin(x / 3)) != cos(Symbol("x") / 3) assert sympify(sympy.cos(x / 3)) == cos(Symbol("x") / 3)