У меня есть дифференциальное уравнение, определяемое в SymPy (0.7.6.1), например:Найти порядок дифференциального уравнения в SymPy
>>> y = Function('y')
>>> x = Symbol('x')
>>> y0 = y(x)
>>> y1 = y0.diff(x)
>>> y2 = y1.diff(x)
>>> eq = y2 - 2*y1 + y0
>>> eq
2
d d
y(x) - 2*--(y(x)) + ---(y(x))
dx 2
dx
Я хотел SymPy сказать мне порядок уравнения. Я ничего не нашел в документации. Я слабо надеялся, что degree
может работать, но это не делает:
>>> degree(eq)
1
>>> degree(eq, y)
0
Контекста: Для педагогической цели, я написал решатель для постоянного коэффициента линейной однородной ОДЫ. Он находит характеристическое уравнение и решает его с помощью Sympy's roots
. В настоящее время я должен передать заказ ODE вручную рядом с самим ODE, что неудобно.
Спасибо. Он документирован в модуле Solvers, а не в ODE, что затрудняет его поиск. – Adrien