Sympy dsolve выдает ошибку NotImplemented, когда я пытаюсь решить чрезвычайно простую систему ODE. Если я решу Eq2 с помощью dsolve, а затем подключу результат к Eq1, то dsolve вернет правильные результаты. Но, если я пытаюсь решить как систему ODE, я получаю не реализованную ошибку:
import sympy
sympy.init_printing()
t = sympy.Symbol('t',real=True)
x = sympy.Function('x')(t)
v = sympy.Function('v')(t)
w = sympy.Symbol('omega',real=True,positive=True,nonzero=True)
eq1 = sympy.Eq(x.diff(),v)
eq2 = sympy.Eq(v.diff(),sympy.cos(w*t))
eqs = [eq1,eq2]
sympy.dsolve(eqs,[x,v])
И ошибку:
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-12-51065819702a> in <module>
----> 1 sympy.dsolve(eqs,[x,v])
/usr/local/lib/python3.6/dist-packages/sympy/solvers/ode.py in dsolve(eq, func, hint, simplify, ics, xi, eta, x0, n, **kwargs)
607 "number of functions being equal to number of equations")
608 if match['type_of_equation'] is None:
--> 609 raise NotImplementedError
610 else:
611 if match['is_linear'] == True:
NotImplementedError:
Это примерно так же просто, как системаODE получают, поэтому я очень удивлен, получив эту ошибку. На github есть проблема (https://github.com/sympy/sympy/issues/16635), но она не используется в течение нескольких месяцев.