Hi,

I'm trying to solve a differential equation with unit step, e.g. the
equation y'(x) = U(x-5) - where U is the unit step, and the inicial
condition y(0) is 0.

The result is 0 for 0<x<5 and x-5 for x>5 (it's a simple integral of the
unit step function). WolframAlpha gives the correct result [1], however
sage fails:

sage: x=var('x')
sage: y=function('y',x)

sage: desolve(diff(y,x) - unit_step(x-5),y,ics=[0,1])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/renan/<ipython console> in <module>()

/opt/sage/local/lib/python2.6/site-packages/sage/calculus/desolvers.pyc in
desolve(de, dvar, ics, ivar, show_method, contrib_ode)
    488                 raise NotImplementedError, "Maxima was unable to
solve this BVP. Remove the initial condition to get the general
solution."
    489
--> 490     soln=soln.sage()
    491     if is_SymbolicEquation(soln) and soln.lhs() == dvar:
    492         # Remark: Here we do not check that the right hand side
does not depend on dvar.

/opt/sage/local/lib/python2.6/site-packages/sage/interfaces/interface.pyc
in sage(self)
    866             Rational Field
    867         """
--> 868         return self._sage_()
    869
    870     def __repr__(self):

/opt/sage/local/lib/python2.6/site-packages/sage/interfaces/maxima_abstract.pyc
in _sage_(self)
   1222         import sage.calculus.calculus as calculus
   1223         return calculus.symbolic_expression_from_maxima_string(
self.name(),
-> 1224                 maxima=self.parent())
   1225
   1226     def _symbolic_(self, R):

/opt/sage/local/lib/python2.6/site-packages/sage/calculus/calculus.pyc in
symbolic_expression_from_maxima_string(x, equals_sub, maxima)
   1699         return symbolic_expression_from_string(s, syms,
accept_sequence=True)
   1700     except SyntaxError:
-> 1701         raise TypeError, "unable to make sense of Maxima expression
'%s' in Sage"%s
   1702     finally:
   1703         is_simplified = False

TypeError: unable to make sense of Maxima expression
'y(x)=-at(integrate(unit_step(x-5),x),[x=0,y(x)=1])+integrate(unit_step(x-5),x)+1'
in Sage

desolve_laplace is no better:

sage: desolve_laplace(diff(y,x) - unit_step(x-5),y,ics=[0,1])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/renan/<ipython console> in <module>()

/opt/sage/local/lib/python2.6/site-packages/sage/calculus/desolvers.pyc in
desolve_laplace(de, dvar, ics, ivar)
    657     if str(soln).strip() == 'false':
    658         raise NotImplementedError, "Maxima was unable to solve this
ODE."
--> 659     soln=soln.sage()
    660     if ics!=None:
    661         d = len(ics)

/opt/sage/local/lib/python2.6/site-packages/sage/interfaces/interface.pyc
in sage(self)
    866             Rational Field
    867         """
--> 868         return self._sage_()
    869
    870     def __repr__(self):

/opt/sage/local/lib/python2.6/site-packages/sage/interfaces/maxima_abstract.pyc
in _sage_(self)
   1222         import sage.calculus.calculus as calculus
   1223         return calculus.symbolic_expression_from_maxima_string(
self.name(),
-> 1224                 maxima=self.parent())
   1225
   1226     def _symbolic_(self, R):

/opt/sage/local/lib/python2.6/site-packages/sage/calculus/calculus.pyc in
symbolic_expression_from_maxima_string(x, equals_sub, maxima)
   1699         return symbolic_expression_from_string(s, syms,
accept_sequence=True)
   1700     except SyntaxError:
-> 1701         raise TypeError, "unable to make sense of Maxima expression
'%s' in Sage"%s
   1702     finally:
   1703         is_simplified = False

TypeError: unable to make sense of Maxima expression
'ilt(e^-(5*?g2652)*(y(0)*?g2652*e^(5*?g2652)+1)/?g2652^2,?g2652,x)' in Sage

Any suggestions? I seached but couldn't find an example of ODEs with
unit_step being solved in Sage. I'm using Sage 4.7.2.

Thanks!

[1]
http://www.wolframalpha.com/input/?i=y%27%28x%29+%3D+unit+step%28x-5%29%2C+y%280%29+%3D+0
-- 
Renan Birck Pinheiro, Grupo de MicroeletrĂ´nica
<http://www.ufsm.br/gmicro>, Engenharia
Elétrica <http://www.ufsm.br/cee>, UFSM <http://www.ufsm.br> - Santa Maria,
Brazil

http://renanbirck.blogspot.com / skype: renan.ee.ufsm / (55) 91433210

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to