gpt4 book ai didi

python - sympy 中共轭的导数

转载 作者:太空宇宙 更新时间:2023-11-04 06:13:15 24 4
gpt4 key购买 nike

当我尝试用 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 执行共轭的导数?

最佳答案

如果 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#sympy.core.function.Derivative ,特别是关于非符号衍生品的部分。换句话说,对函数取导数只是一种符号上的便利并不代表数学链式法则。相反,像 diff(x, conjugate(x)) 应该被认为是像 diff(x.subs(conjugate(x), dummy), dummy).subs(dummy , 共轭 (x)).

关于 conjugate(x).diff(x),这给出了一个未计算的导数,因为没有为共轭定义导数。无论如何,我不确定这里是否有任何封闭形式的答案。这可能是 SymPy 可以返回的最有用的东西。关于合理的答案应该是什么,我在任何地方都找不到任何好的答案(你应该问数学 SE 以获得更好的答案)。

关于python - sympy 中共轭的导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17476704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com