Почему я продолжаю получать ошибку NotImplementedError: многомерное разложение частичных дробей при использовании sympy.apart()?

#python #sympy

Вопрос:

Я пытаюсь найти обратное преобразование Лапласа уравнения:

 X(s) = (s(s 2))/((s 2)(s 3)(s 4))*e^-2s.
 
 import sympy
import numpy as np
sympy.init_printing()

s, t = sympy.symbols('s, t')

X = (((s*(s 1))/(s 2)*(s 3)*(s 4)))*(sympy.exp(-2*s))

parfrac = sympy.apart(X, full=True).doit()

def invL(X):
    return sympy.inverse_laplace_transform(X, s, t)

print(invL(X))
 

Выше приведено то, что я пытался, и я продолжаю получать «NotImplementedError: многомерное разложение частичной дроби».

как мне избавиться от этой ошибки?

Комментарии:

1. Эта ссылка может помочь: github.com/sympy/sympy/issues/14763

2. Пожалуйста, опубликуйте код в виде текста, а не изображения. Мы хотим видеть это в самом вопросе и иметь возможность скопировать его.

3. Эта ошибка отображается, если вы не указали, какую переменную следует развернуть, например apart(expr) , bs apart(expr, s) .

4. Это работает для меня без exp(-2*s) термина. Включение x=s , изменяет ошибку. sympy функции не гарантируют работу со всеми выражениями.