Ask Your Question

Revision history [back]

Why desolve() can not solve an ODE while SymPy can?

For example, in sage, when I call:

x=var('x')
f=function('f')(x)
desolve(f.diff(x)^2+1,f)

It will return:

NotImplementedError: Maxima was unable to solve this ODE. Consider to set option contrib_ode to True.

However, with SymPy, when I call:

x=symbols('x')
f=symbols('f',cls=Function)
dsolve(f(x).diff(x)**2+1,f(x))

It will return the exact result:

[Eq(f(x), C1 - I*x), Eq(f(x), C1 + I*x)]

I know maybe it because sage use Maxima in desolve but not SymPy, however, I consider using both of them and merge the result is a better choice. Or if there already exists a method to use SymPy in sgae?