I would like to understand how sympy.inverse_laplace_transform is 
evaluated, so I attempted to view the source code.

When execute the command:

     print(inspect.getsource(sympy.inverse_laplace_transform))

I see the following source code which looks like is is almost all 
explanation.  (  I don't see the part that actually gets executed to 
calculate the inverse Laplace transform.   The part at the end where it 
says "return InverseLaplaceTransform(F, s, t, plane)" is just to return the 
symbolic expression of the integral if it fails to evaluate,  the part just 
before that doesn't make sense to me where it says: "return 
F.applyfunc(lambda Fij: inverse_laplace_transform(Fij, s, t, plane, 
**hints))  It doesn't make sense because it refers the the function itself 
rather than defining how the function should be calculated. )

Here is the source code for  sympy.inverse_laplace_transform:

def inverse_laplace_transform(F, s, t, plane=None, **hints): r""" Compute 
the inverse Laplace transform of `F(s)`, defined as .. math :: f(t) = 
\frac{1}{2\pi i} \int_{c-i\infty}^{c+i\infty} e^{st} F(s) \mathrm{d}s, for 
`c` so large that `F(s)` has no singularites in the half-plane 
`\operatorname{Re}(s) > c-\epsilon`. Explanation =========== The plane can 
be specified by argument ``plane``, but will be inferred if passed as None. 
Under certain regularity conditions, this recovers `f(t)` from its Laplace 
Transform `F(s)`, for non-negative `t`, and vice versa. If the integral 
cannot be computed in closed form, this function returns an unevaluated 
:class:`InverseLaplaceTransform` object. Note that this function will 
always assume `t` to be real, regardless of the SymPy assumption on `t`. 
For a description of possible hints, refer to the docstring of 
:func:`sympy.integrals.transforms.IntegralTransform.doit`. Examples 
======== >>> from sympy import inverse_laplace_transform, exp, Symbol >>> 
from sympy.abc import s, t >>> a = Symbol('a', positive=True) >>> 
inverse_laplace_transform(exp(-a*s)/s, s, t) Heaviside(-a + t) See Also 
======== laplace_transform, _fast_inverse_laplace hankel_transform, 
inverse_hankel_transform """ if isinstance(F, MatrixBase) and hasattr(F, 
'applyfunc'): return F.applyfunc(lambda Fij: inverse_laplace_transform(Fij, 
s, t, plane, **hints)) return InverseLaplaceTransform(F, s, t, 
plane).doit(**hints)


-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/0723cc06-8baa-491a-bc39-6ecfd5c63531n%40googlegroups.com.

Reply via email to