def test_Subs(): x = Symbol("x") y = Symbol("y") _x = Symbol("_x") f = function_symbol("f", 2*x) assert f.diff(x) == 2 * Subs(Derivative(function_symbol("f", _x), [_x]), [_x], [2 * x]) assert Subs(Derivative(function_symbol("f", x, y), [x]), [x, y], [_x, x]) \ == Subs(Derivative(function_symbol("f", x, y), [x]), [y, x], [x, _x])
def test_Subs(): x = Symbol("x") y = Symbol("y") _x = Symbol("_x") f = function_symbol("f", 2 * x) assert f.diff(x) == 2 * Subs(Derivative(function_symbol("f", _x), [_x]), [_x], [2 * x]) assert Subs(Derivative(function_symbol("f", x, y), [x]), [x, y], [_x, x]) \ == Subs(Derivative(function_symbol("f", x, y), [x]), [y, x], [x, _x])
def test_conv8(): e1 = function_symbol("f", Symbol("x")) e2 = function_symbol("g", Symbol("x"), Symbol("y")) assert e1._sympy_() == sympy.Function("f")(sympy.Symbol("x")) assert e2._sympy_() != sympy.Function("f")(sympy.Symbol("x")) assert e2._sympy_() == sympy.Function("g")(sympy.Symbol("x"), sympy.Symbol("y")) e3 = function_symbol("q", Symbol("t")) assert e3._sympy_() == sympy.Function("q")(sympy.Symbol("t")) assert e3._sympy_() != sympy.Function("f")(sympy.Symbol("t")) assert e3._sympy_() != sympy.Function("q")(sympy.Symbol("t"), sympy.Symbol("t"))
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_f(): x = Symbol("x") y = Symbol("y") f = function_symbol("f", x) g = function_symbol("g", x) assert f != g f = function_symbol("f", x) g = function_symbol("f", x) assert f == g f = function_symbol("f", x) assert f.diff(y) == 0
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_conv10(): A = densematrix(1, 4, [Integer(1), Integer(2), Integer(3), Integer(4)]) assert A._sympy_() == sympy.Matrix(1, 4, [ sympy.Integer(1), sympy.Integer(2), sympy.Integer(3), sympy.Integer(4) ]) B = densematrix(4, 1, [Symbol("x"), Symbol("y"), Symbol("z"), Symbol("t")]) assert B._sympy_() == sympy.Matrix(4, 1, [ sympy.Symbol("x"), sympy.Symbol("y"), sympy.Symbol("z"), sympy.Symbol("t") ]) C = densematrix( 2, 2, [Integer(5), Symbol("x"), function_symbol("f", Symbol("x")), 1 + I]) assert C._sympy_() == sympy.Matrix( [[5, sympy.Symbol("x")], [sympy.Function("f")(sympy.Symbol("x")), 1 + sympy.I]])
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_conv10(): A = densematrix(1, 4, [Integer(1), Integer(2), Integer(3), Integer(4)]) assert A._sympy_() == sympy.Matrix(1, 4, [sympy.Integer(1), sympy.Integer(2), sympy.Integer(3), sympy.Integer(4)]) B = densematrix(4, 1, [Symbol("x"), Symbol("y"), Symbol("z"), Symbol("t")]) assert B._sympy_() == sympy.Matrix(4, 1, [sympy.Symbol("x"), sympy.Symbol("y"), sympy.Symbol("z"), sympy.Symbol("t")]) C = densematrix(2, 2, [Integer(5), Symbol("x"), function_symbol("f", Symbol("x")), 1 + I]) assert C._sympy_() == sympy.Matrix([[5, sympy.Symbol("x")], [sympy.Function("f")(sympy.Symbol("x")), 1 + sympy.I]])
def test_derivative(): x = Symbol("x") y = Symbol("y") f = function_symbol("f", x) assert f.diff(x) == function_symbol("f", x).diff(x) assert f.diff(x).diff(x) == function_symbol("f", x).diff(x).diff(x) assert f.diff(y) == 0 assert f.diff(x).args == (f, x) assert f.diff(x).diff(x).args == (f, x, x) g = function_symbol("f", y) assert g.diff(x) == 0 assert g.diff(y) == function_symbol("f", y).diff(y) assert g.diff(y).diff(y) == function_symbol("f", y).diff(y).diff(y) assert f - function_symbol("f", x) == 0 f = function_symbol("f", x, y) assert f.diff(x).diff(y) == function_symbol("f", x, y).diff(x).diff(y) assert f.diff(Symbol("z")) == 0
def test_derivative(): x = Symbol("x") y = Symbol("y") f = function_symbol("f", x) assert f.diff(x) == function_symbol("f", x).diff(x) assert f.diff(x).diff(x) == function_symbol("f", x).diff(x).diff(x) assert f.diff(y) == 0 g = function_symbol("f", y) assert g.diff(x) == 0 assert g.diff(y) == function_symbol("f", y).diff(y) assert g.diff(y).diff(y) == function_symbol("f", y).diff(y).diff(y) assert f - function_symbol("f", x) == 0
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_f(): x = Symbol("x") y = Symbol("y") f = function_symbol("f", x) g = function_symbol("g", x) assert f.subs({function_symbol("f", x): function_symbol("g", x)}) == g assert (f+g).subs({function_symbol("f", x): function_symbol("g", x)}) == 2*g e = (f+x)**3 assert e.subs({f: y}) == (x+y)**3 e = e.expand() assert e.subs({f: y}) == ((x+y)**3).expand()
def test_f(): x = Symbol("x") y = Symbol("y") z = Symbol("z") f = function_symbol("f", x) g = function_symbol("g", x) assert f != g f = function_symbol("f", x) g = function_symbol("f", x) assert f == g f = function_symbol("f", x, y) g = function_symbol("f", y, x) assert f != g f = function_symbol("f", x, y) g = function_symbol("f", x, y) assert f == g
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() print "Total time:", t2-t1, "s"
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() print "Total time:", t2 - t1, "s"