TypeError: loop of ufunc does not support argument 0 of type y which has no callable sqrt method

Почему у меня не считает дифференциальное уравнение?
Это Бернулли. Вот само уравнение: xy′ − 2y − x2 * sqrt(y) = 0
Вот мой код:

from sympy import *
from scipy import *
import numpy as np

x = symbols('x')
y = symbols('y', cls=Function)
result = dsolve(Eq(y(x).diff(x), x * y(x).diff(x) - 2 * y(x) - x**2 * np.sqrt(y(x))), 0)
print('1.4.1')
pprint(result)

Вот traceback:
traceback


Ответы (1 шт):

Автор решения: CrazyElf

Ругается оно явно на np.sqrt, на простой корень sqrt заменить не помогает, остаётся ошибка, хоть и другая уже. Но можно для квадратного корня использовать такое написание в питоне **0.5 и так уже не ругается:

result = dsolve(Eq(y(x).diff(x), x * y(x).diff(x) - 2 * y(x) - x**2 * y(x)**0.5), 0)
→ Ссылка