I have one solution :) very very poor (really very poor) solution and from this reason I will not supply the patch yet.
The method is to call ode2 again, now together with ic2 in one new call of Maxima. The (fixed) file is desolvers.py is at http://user.mendelu.cz/marik/temp/desolvers.py The new lines are also on the bottom of this post. Sure, I think that nobody (including me) will know after few weeks, what does it mean .... I do not think that it is a good idea to insert such a code into Sage, but we have at least something now and I suppose to continue in my work and develop some clean nice code for inclusion into Sage My idea was to produce a string like ic2(ode2('diff(y,x)+5*y=0,y,x),x=2,y=4,diff(y,x)=14) and pass it to maxima Seems that something similar is in interfaces/maxima.py Robert Marik ---------------------------------------------- if soln.lhs() != dvar: raise NotImplementedError, "Sage is unable to use initial conditions for this equation." tempeq=de0._maxima_().str().replace("'"+dvar.operator()._maxima_().str ()+"("+ivar._maxima_().str()+")",dvar.operator()._maxima_().str()) tempic=(ivar==ics[0])._maxima_().str() tempic=tempic+","+(dvar==ics[1])._maxima_().str() tempic=tempic+","+(diff(dvar,ivar)==ics[2])._maxima_().str().replace ("'"+dvar.operator()._maxima_().str()+"("+ivar._maxima_().str() +")",dvar.operator()._maxima_().str()) tempic=tempic.replace("'"+dvar.operator()._maxima_().str() +"("+ivar._maxima_().str()+")",dvar.operator()._maxima_().str()) cmd="ic2(ode2("+tempeq+","+dvar.operator()._maxima_().str() cmd=cmd+","+ivar._maxima_().str()+"),"+tempic+")" # print cmd soln=maxima(cmd) --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---