Как мне заставить SymPy собирать частные производные? - PullRequest
1 голос
/ 04 ноября 2019

Я использовал 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
...