Я использовал SymPy для расширения членов сложного уравнения в частных производных и хотел бы использовать функцию сбора для сбора членов. Однако, по-видимому, существует проблема, связанная со вторыми (или более высокими) производными, где переменные дифференцирования различаются.
В приведенном ниже примере кода collect(expr6...
работает, а collect(expr7 ...
- нет, возвращая сообщение об ошибке "NotImplementedError: Improve MV Derivative support in collect"
. Ошибка явно связана с разницей psi.diff(x,y)
в двух случаях. Для кого-то очевидно, что мне нужно сделать, чтобы collect(expr7 ...
работа?
ура
Ричард
Пример:
from sympy import *
psi = Function("psi") (x,y,z,t)
expr6=2*psi.diff(x,x)+3*U*psi.diff(x)+5*psi.diff(y)
expr7=2*psi.diff(x,y)+3*U*psi.diff(x)+5*psi.diff(y)
collect(expr6, psi.diff(x),evaluate=False, exact=False) # works
#collect(expr7, psi.diff(x),evaluate=False, exact=False)
# throws an error: NotImplementedError: Improve MV Derivative support in collect