id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
22422 Laplace transform involving time-shifts mforets "Sage allows to compute the inverse Laplace transform through Maxima's `ilt` function,
{{{
sage: var('s t')
sage: inverse_laplace(1/s, s, t)
1
}}}
An unevaluated expression is returned when no explicit inverse Laplace transform is computed, as in
{{{
sage: inverse_laplace(exp(-s)/s, s, t)
ilt(e^(-s)/s, s, t)
}}}
The result in this case is h(t-1), where h is the Heaviside step function. In Sage it is available as `heaviside`.
The problem in this ticket is to extend the current behavior of `inverse_laplace` to provide explicit expressions for proper real-rational functions with any number of real exponentials linear in the transform variable s (time-shifts) in the numerator. For consistency, the direct Laplace transform with a heaviside should also work as well.
These are some approaches:
(1) Implement an in-house solution, possibly in the lines of [https://ask.sagemath.org/question/36656/how-to-find-inverse-laplace-transform/ this answer].
(2) Add an `algorithm` flag that allows to choose `sympy` (similar to integration).
(3) Interface with Giac/XCAS. With this package installed, it is possible to do:
{{{
sage: giac('invlaplace(exp(-s)/s, s, t)')
Heaviside(t-1)
}}}
IMHO, a combination of (2)-(3) is the more robust approach. A small set of experiments show that (3) is, at the time of writing, more convenient than `inverse_laplace_transform` of SymPy in terms of quality of solution and execution time. Unfortunately, the [http://doc.sagemath.org/html/en/reference/interfaces/sage/interfaces/giac.html giac interface] does not currently support automatic translation back to the symbolic ring, as it does with SymPy objects via SR(..).
Any recommendations?
See also:
- [https://ask.sagemath.org/question/36656/how-to-find-inverse-laplace-transform/ How to find inverse Laplace transform]
- [https://ask.sagemath.org/question/33152/laplaceheavisidetts-doesnt-return-1s/ laplace(heaviside(t),t,s) doesn't return 1/s]
- [https://ask.sagemath.org/question/9013/inverse-laplace-transforms-of-shifts/ Inverse Laplace transforms of shifts]
" enhancement closed major sage-8.0 calculus fixed laplace, transform, symbolics, giac, heaviside kcrisman paulmasson frederichan rws Marcelo Forets Paul Masson, Ralf Stephan N/A f845269bbd0cf1843286b0394fd9890fa0670ead f845269bbd0cf1843286b0394fd9890fa0670ead