In [ ]:
import sympy as sp
from pyodesys.native import native_sys
In [ ]:
x, y = sp.symbols('x y')
exprs = [sp.exp(y)*(3*y + 3*sp.sqrt(x+1)), sp.exp(y)*(5*y + 5*sp.sqrt(x+1))]
sp.cse(exprs)
In [ ]:
sp.cse(exprs, optimizations='basic')
In [ ]:
try:
_ = sp.cse(exprs, ignore=(y,x))
except TypeError:
print("Using an old version of SymPy (ignore not supported in cse())")
else:
print(_)
In [ ]:
odesys = native_sys['cvode'].from_callback(lambda x, y, p, be: [-be.exp(p[0]+3)*y[0], be.exp(p[0]+3)*y[0]], 2, 1)
In [ ]:
path = next(filter(lambda x: x.endswith('.cpp'), odesys._native._written_files))
print(open(path).read())
In [ ]:
sp.cse(odesys.exprs)
In [ ]: