Производное конъюгата в симпти

Когда я пытаюсь различить символ с помощью SymPy, я получаю следующее

In : x=Symbol('x')
In : diff(x,x)
Out: 1

Когда я различаю символ в отношении его сопряженного, результат

In [55]: diff(x,x.conjugate())
Out[55]: 0

Однако, когда я пытаюсь различить сопряжение символа, SymPy не делает этого

In : diff(x.conjugate(),x)
Out: Derivative(conjugate(x), x)

Это все еще правильно, но результат должен быть нулевым. Как я могу заставить SimPy выполнять производную от конъюгата?

1 ответ

Решение

Я не уверен насчет математики, если diff(conjugate(x), x) должно быть ноль. Дело в том, что diff(x,x.conjugate()) Нулевое значение не имеет ничего общего с математикой (и может даже рассматриваться как ошибка SymPy). Это дает ноль просто потому, что x не содержит conjugate(x) (символически), поэтому он видит его как константу по отношению к нему. Это, вероятно, неправильно, так как x не является константой по отношению к conjugate(x), Тот факт, что SymPy позволяет вам брать производные по определенным функциям, на самом деле, вероятно, является ошибкой. Предполагается, что такие вещи, как diff(f(x)**2, f(x)), где f = Function('f') является неопределенной функцией, но для определенных функций это, вероятно, математически неверно (или, по крайней мере, не то, что вы ожидаете).

См. http://docs.sympy.org/latest/modules/core.html?highlight=derivative, особенно раздел, посвященный производным без символов. Перефразируя, взятие производных по функции является просто условным обозначением и не представляет математического правила цепочки. Скорее что-то вроде diff(x, conjugate(x)) следует рассматривать как что-то вроде diff(x.subs(conjugate(x), dummy), dummy).subs(dummy, conjugate(x)),

относительно conjugate(x).diff(x), это дает неоцененную производную, потому что никакая производная не определена для сопряженного. Я не уверен, возможен ли здесь какой-либо закрытый ответ. Вероятно, это самая полезная вещь, которую SymPy может вернуть. Я нигде не могу найти хороших ответов относительно того, каким должен быть разумный ответ (вы должны спросить по математике SE, чтобы получить лучший ответ об этом).

Другие вопросы по тегам