Неявная дифференциация Sympy

Я делал производные в sympy и не знал, как это будет написано синтаксически. Я пытался найти его, но ни одно из решений не имело смысла. Например, если я пытаюсь дифференцировать x**5 + y**2 + z**4 = 8xyz с помощью вычислений, как мне это сделать? Будет ли z символом или функцией, как в обычных производных? Спасибо.


person MANA624    schedule 17.02.2016    source источник
comment
Вы делаете производные или пытаетесь интегрировать? Ваш вопрос не совсем ясен. Затем вы также должны указать, какую производную вы хотите, по отношению к какой переменной или как вы хотите интегрировать выражение, каков ваш интервал интегрирования.   -  person Cleb    schedule 18.02.2016
comment
О, простите за эту опечатку. Я пытаюсь дифференцировать по z.   -  person MANA624    schedule 18.02.2016


Ответы (1)


Для двух переменных вы можете использовать idiff.

В вашем случае самый простой способ - установить x и y как функции z, например

x = Function('x')(z)
y = Function('y')(z)

Тогда нормальный diff(expr, z) правильно возьмет производную.

person asmeurer    schedule 18.02.2016
comment
Итак, прочитав некоторую документацию, я заставил ее работать с использованием idiff, но не совсем уверен, что вы говорите об использовании обычного diff и установке x и y в качестве функций. Я продолжаю получать странные результаты. Разве z не должно быть функцией x или y, в зависимости от того, что вы берете? - person MANA624; 18.02.2016
comment
Конечно. Вы сказали в вопросе, что берете производную по отношению к z. - person asmeurer; 18.02.2016