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