If you have a piecewise-defined polynomial function then there is a ``native'' Sage command for computing Laplace transforms. This calls Maxima but it's worth noting that Maxima cannot handle (using the direct interface illustrated in the last few examples) this type of computation.
sage: var('x s') (x, s) sage: f1(x) = 1 sage: f2(x) = 1-x sage: f = Piecewise([[(0,1),f1],[(1,2),f2]]) sage: f.laplace(x, s) -e^(-s)/s - e^(-s)/s^2 + (s + 1)*e^(-(2*s))/s^2 + 1/s
For other ``reasonable'' functions, Laplace transforms can be computed using the Maxima interface:
sage: var('k, s, t') (k, s, t) sage: f = 1/exp(k*t) sage: f.laplace(t,s) 1/(s + k)
sage: var('s, t') (s, t) sage: f = t^5*exp(t)*sin(t) sage: L = laplace(f, t, s); L 360*(2*s - 2)/(s^2 - 2*s + 2)^4 - 480*(2*s - 2)^3/(s^2 - 2*s + 2)^5 + 120*(2*s - 2)^5/(s^2 - 2*s + 2)^6 sage: print L 3 5 360 (2 s - 2) 480 (2 s - 2) 120 (2 s - 2) --------------- - --------------- + --------------- 2 4 2 5 2 6 (s - 2 s + 2) (s - 2 s + 2) (s - 2 s + 2)
See About this document... for information on suggesting changes.