Hello Chris, seems there are two pitfalls : one when not specifying ivar parameters for desolve function call or using formal function f in the argument equation.
You can try code like this....Shorter code is valid too when expanding directly eq parameter (as done in SAGE help examples).. # Reference : http://www.sagemath.org/doc/reference/calculus/sage/calculus/desolvers.html # # Step 1 - Declare parameters, commons vars, func, equation a,x,zx,dzx = var('a,x,zx,dzx') f(x,zx,dzx) = (2*x+2*zx*dzx)/sqrt(x^2+a^2+zx^2); f eqzx = f(x,zx,dzx) == 0 ; eqzx # # Step 2 - Declare FUNCTIONS of independent variable (here x) z = function('z',x) # # Step 3 - (useful ?) help maxima for solving sage.calculus.calculus.maxima('domain:real') # # Step 4 - Create differential equation, replacing commons vars by FUNCTIONS eq = eqzx.substitute(zx=z,dzx=diff(z,x)) ; eq # note that diff shortname has been replaced with D[0](z)(x) # # Step 5 - Solve it,calling desolve and specifying all arguments by name, especially ivar (the independent variable) desolve(de = eq , dvar = z, ics = None, ivar = x, show_method = False, contrib_ode=True) Dominique -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.