Sympy无法找到一个简单术语的逆拉普拉斯变换

时间:2017-10-19 22:38:28

标签: python sympy

我正在计算表达式的逆拉普拉斯变换,该表达式是要反转的相对基础术语的总和:

>>> inverse_laplace_transform(-1/(s+1)**2, s, t)
-t*exp(-t)
>>> inverse_laplace_transform(5/(s-1), s, t)
5*exp(t)
>>> inverse_laplace_transform(9/(s+2), s, t)
9*exp(-2*t)
>>> inverse_laplace_transform(1, s, t)
InverseLaplaceTransform(1, s, t, _None)

似乎能够计算每个人的罚款:

$suffix = $orgfile -replace '^[^.]*'
Get-Content $prodfile | ForEach-Object {
    Copy-Item -Path $orgfile -Destination "${_}${suffix}" -WhatIf
}

然而,当我拿出这些的总和时,我得到一个很长的错误,说它找不到多项式

  

inverse_laplace_transform(1 - 9 /(s + 2)+ 5 /(s + 1) - 1 /(s + 1)** 2,s,t)   sympy.polys.polyerrors.PolynomialDivisionFailed:分割[EX(-1728 * 3 **(1/3)(9 + sqrt(93))* 时无法减少多项式除法算法的度数(1/3)*(27 + 3 * sqrt(93))**(2/3)+ 1728 * 3 **(5/6) I (9 + sqrt(93)) **(1/3)*(27 + 3 * sqrt(93))**(2/3))] [EX(1)]。   当无法在系数域中检测到零时,就会发生这种情况。计算领域是EX。   您可能希望使用不同的简化算法。   请注意,通常无法保证在此域中检测到零。

有没有人知道为什么当它可以分别在每个部分上执行时,同事不应该对部件的总和执行此操作?

1 个答案:

答案 0 :(得分:1)

可能是较新版本中的错误。 SymPy 1.0以前工作得很好:

>>> inverse_laplace_transform(1 - 9/(s + 2) + 5/(s+1) - 1/(s+1)**2, s, t)
-t*exp(-t) + InverseLaplaceTransform(1, s, t, _None) + 5*exp(-t) - 9*exp(-2*t)