Skip to content

Commit 27452d7

Browse files
committed
Fixed issue 26775
1 parent 84b114c commit 27452d7

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

sympy/integrals/laplace.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2100,8 +2100,10 @@ def _inverse_laplace_rational(fn, s, t, plane, *, simplify):
21002100
dc = [x/dc_lead for x in dc]
21012101
nc = [x/dc_lead for x in n.as_poly(s).all_coeffs()]
21022102
if len(dc) == 1:
2103-
r = nc[0]*DiracDelta(t)
2104-
terms_t.append(r)
2103+
N = len(nc)-1
2104+
for c in enumerate(nc):
2105+
r = c[1]*DiracDelta(t, N-c[0])
2106+
terms_t.append(r)
21052107
elif len(dc) == 2:
21062108
r = nc[0]*exp(-dc[1]*t)
21072109
terms_t.append(Heaviside(t)*r)

sympy/integrals/tests/test_laplace.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,9 @@ def simp_hyp(expr):
717717
Derivative(InverseLaplaceTransform(f(s), s, t, None), (t, 42)))
718718
assert ILT(cos(s), s, t) == InverseLaplaceTransform(cos(s), s, t, None)
719719
# Rules for testing different DiracDelta cases
720+
assert (
721+
ILT(1 + 2*s + 3*s**2 + 5*s**3, s, t) == DiracDelta(t) +
722+
2*DiracDelta(t, 1) + 3*DiracDelta(t, 2) + 5*DiracDelta(t, 3))
720723
assert (ILT(2*exp(3*s) - 5*exp(-7*s), s, t) ==
721724
2*InverseLaplaceTransform(exp(3*s), s, t, None) -
722725
5*DiracDelta(t - 7))

0 commit comments

Comments
 (0)