Comment #8 on issue 1525 by asmeurer: No integration by substitution
http://code.google.com/p/sympy/issues/detail?id=1525

To put things in perspective in the commit log, btw, 2361dd == c20062e7~1. See https://github.com/sympy/sympy/pull/134.

By the way, other than tests testing the

In [1]: f(g(x)).diff(x)
Out[1]:
  d            d
─────(f(g(x)))⋅──(g(x))
dg(x)          dx

behavior two doctests fail in my fdiff_revert branch (the one from the pull request):

________ sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_indep_div_dep ________ File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 1761, in sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_indep_div_dep
Failed example:
    pprint(dsolve(genform, f(x),
    hint='1st_homogeneous_coeff_subs_indep_div_dep_Integral'))
Exception raised:
    Traceback (most recent call last):
      File "/sw/lib/python2.7/doctest.py", line 1254, in __run
        compileflags, 1) in test.globs
File "<doctest sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_indep_div_dep[5]>", line 2, in <module>
        hint='1st_homogeneous_coeff_subs_indep_div_dep_Integral'))
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 401, in dsolve
        hints = classify_ode(eq, func, dict=True)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 684, in classify_ode
        if r[d] != 0 and simplify(r[d].diff(y)) == simplify(r[e].diff(x)):
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/expr.py", line 1499, in diff
        return Derivative(self, *new_symbols, **assumptions)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 602, in __new__
        obj = expr._eval_derivative(s)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 276, in _eval_derivative
        df = self.fdiff(i)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 474, in fdiff
        return Derivative(self,self.args[argindex-1],evaluate=False)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 565, in __new__ raise ValueError('Derivative expects Symbol [, Integer] args but got %s, %s' % (s, count))
    ValueError: Derivative expects Symbol [, Integer] args but got x/_y, 1
________________________________________________________________________________
________ sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_dep_div_indep ________ File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 1680, in sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_dep_div_indep
Failed example:
    pprint(dsolve(genform, f(x),
    hint='1st_homogeneous_coeff_subs_dep_div_indep_Integral'))
Exception raised:
    Traceback (most recent call last):
      File "/sw/lib/python2.7/doctest.py", line 1254, in __run
        compileflags, 1) in test.globs
File "<doctest sympy.solvers.ode.ode_1st_homogeneous_coeff_subs_dep_div_indep[5]>", line 2, in <module>
        hint='1st_homogeneous_coeff_subs_dep_div_indep_Integral'))
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 401, in dsolve
        hints = classify_ode(eq, func, dict=True)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/solvers/ode.py", line 684, in classify_ode
        if r[d] != 0 and simplify(r[d].diff(y)) == simplify(r[e].diff(x)):
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/expr.py", line 1499, in diff
        return Derivative(self, *new_symbols, **assumptions)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 602, in __new__
        obj = expr._eval_derivative(s)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 276, in _eval_derivative
        df = self.fdiff(i)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 474, in fdiff
        return Derivative(self,self.args[argindex-1],evaluate=False)
File "/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/function.py", line 565, in __new__ raise ValueError('Derivative expects Symbol [, Integer] args but got %s, %s' % (s, count))
    ValueError: Derivative expects Symbol [, Integer] args but got _y/x, 1

See http://docs.sympy.org/dev/modules/solvers/ode.html#st-homogeneous-coeff-subs-dep-div-indep. Just something to keep in mind when considering what to do for the problem discussed in comment 6.

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to sympy-issues@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-issues+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to