def _solve(eq, target, **kwargs): """ To be remved at next Devito release """ if isinstance(eq, Eq): eq = eq.lhs - eq.rhs if eq.rhs != 0 else eq.lhs # Try first linear solver cc = linear_coeffs(eq.evaluate, target) return diffify(-cc[1] / cc[0])
def test_diffify(): a = Function(name="a", grid=Grid((10, 10))) e = Function(name="e", grid=Grid((10, 10))) assert isinstance(diffify(sympy.Mul(*[1.2, a.dx])), Mul) assert isinstance(diffify(sympy.Add(*[a, e])), Add) assert isinstance(diffify(sympy.Mul(*[e, a])), Mul) assert isinstance(diffify(sympy.Mul(*[a, a])), Pow) assert isinstance(diffify(sympy.Pow(*[a * a, -1])), Pow) addition = diffify(sympy.Add(*[a, sympy.Mul(*[1.2, a.dx])])) assert isinstance(addition, Add) assert all(isinstance(a, Differentiable) for a in addition.args) addition2 = diffify(sympy.Add(*[a, sympy.Mul(*[e, a.dx])])) assert isinstance(addition2, Add) assert all(isinstance(a, Differentiable) for a in addition2.args)
def Ynm_c(x): return diffify(sympy.Ynm_c(x))
def jacobi_normalized(x): return diffify(sympy.jacobi_normalized(x))
def jn_zeros(x): return diffify(sympy.jn_zeros(x))
def interpolating_spline(x): return diffify(sympy.interpolating_spline(x))
def bspline_basis_set(x): return diffify(sympy.bspline_basis_set(x))
def Eijk(x): return diffify(sympy.Eijk(x))
def piecewise_fold(x): return diffify(sympy.piecewise_fold(x))
def unpolarify(x): return diffify(sympy.unpolarify(x))
def polarify(x): return diffify(sympy.polarify(x))
def unbranched_argument(x): return diffify(sympy.unbranched_argument(x))
def cbrt(x): return diffify(sympy.cbrt(x))
def real_root(x): return diffify(sympy.real_root(x))
def Id(x): return diffify(sympy.Id(x))
def sqrt(x): return diffify(sympy.sqrt(x))
def root(x): return diffify(sympy.root(x))
def E1(x): return diffify(sympy.E1(x))