Производное конъюгата в симпти
Когда я пытаюсь различить символ с помощью 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, чтобы получить лучший ответ об этом).