Ask Your Question

inverse laplace transforms of shifts

asked 2012-05-29 17:39:07 +0200

calc314 gravatar image

I've been trying to get Sage to solve an ODE using Laplace transforms. Unfortunately, shifted functions appear to cause a problem for the inverse_laplace command. David Joyner's ODE book (dated 2008) says that Sage does not have the functionality to do this. Has this situation changed? Do I need to do something differently here to get this to work?

Here is a snippet of something I tried.


The first two lines work properly, but the last line returns a formal result:

ilt(e^(-3*s)/(s + 2), s, t)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2017-02-19 21:06:26 +0200

mforets gravatar image

updated 2017-02-19 21:08:34 +0200

A simple implementation using the local heaviside function (see also generalized functions) is written in this question, and is such that:

var('t s')
u=piecewise([[(0,3),0],[(3,infinity),exp(-2*(t-3))]], var=t)
F(s) = u.laplace(t,s);
InverseLaplace(F, s, t)

produces $\newcommand{\Bold}[1]{\mathbf{#1}}t \ {\mapsto}\ e^{\left(-2 \, t + 6\right)} H\left(t - 3\right)$.

edit flag offensive delete link more


InverseLaplace is not currently a built-in function.

calc314 gravatar imagecalc314 ( 2017-02-28 18:22:41 +0200 )edit

answered 2012-05-30 01:48:02 +0200

kcrisman gravatar image

I guess Maxima can't do it.

sage: inverse_laplace?
def inverse_laplace(ex, t, s):
    Attempts to compute the inverse Laplace transform of
    ``self`` with respect to the variable `t` and
    transform parameter `s`. If this function cannot find a
    solution, a formal function is returned.

(%i1) display2d:false;
(%o1) false
(%i2) f(s):=%e^(-3*s)/(s+2);
(%o2) f(s):=%e^-(3*s)/(2+s)
(%i4) ilt(f(s),t,s);    
(%o4) 'ilt(%e^-(3*s)/(s+2),t,s)

Does that answer things? If you want to file an enhancement request to Maxima, please do, maybe it's not so hard for them to implement; however, presumably there are arbitrarily hard ones like this that no system could do...

edit flag offensive delete link more


Thanks for the help. It seems like the t-domain shifts and s-domain shifts that we teach in a standard ODE course should be reasonable to implement. Web searches indicate that there are some folks who have implemented their own code in maxima to handle this.

calc314 gravatar imagecalc314 ( 2012-05-30 17:48:09 +0200 )edit

Ooh, maybe that could be implemented upstream, then. Can you post some links?

kcrisman gravatar imagekcrisman ( 2012-05-31 15:00:41 +0200 )edit

The following appears to be a deeper patch for maxima:

calc314 gravatar imagecalc314 ( 2012-06-02 00:18:27 +0200 )edit

And, this link appears to be for an approach that might be useful upstream:

calc314 gravatar imagecalc314 ( 2012-06-02 00:19:49 +0200 )edit

I'm not sure about the robustness of either of the approaches above, but they are interesting.

calc314 gravatar imagecalc314 ( 2012-06-02 00:20:33 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-05-29 17:39:07 +0200

Seen: 1,231 times

Last updated: Feb 19 '17