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.

Reply via email to