Как проверить, может ли `sympy.dsolve` решить дифференциальное уравнение в явном виде? - PullRequest
0 голосов
/ 16 марта 2020

Я тестирую dsolve метод пакета sympy, чтобы проверить, можно ли разрешить любой дифференциал, и вернуть решение, если оно есть. Попытка решить уравнение такого рода

from sympy import dsolve
t = symbols('t')
x = Function('x')
dsolve(x(t).diff(t) - x(t)**2 + t**2)

возвращает ответ:

enter image description here

Последний член этого выражения говорит мне, что уравнение не имеет явного решения. Как я могу проверить, если уравнение имеет явное решение, используя sympy?

Я надеюсь, что-то вроде этого:

is_solution_explicit(x(t).diff(t) - x(t)**2 + t**2) возвращает False is_solution_explicit(2*x(t)/(1+t) + (1+t)**3) возвращает True

...