使用SymPy,我们可以设置变量假设:
from sympy import *
x = Symbol('x', real=True)
x, re(x), im(x)
结果是:
(x,x,0)
正如所料。但是如果我们尝试为函数做同样的事情:
from sympy import *
x = Symbol('x', real=True)
f = Function('f', real=True)(x)
f, re(f), im(f)
结果是:
(f(x),re(f(x)),im(f(x)))
但我期待的是
(f(x),f(x),0)
问题是:有没有办法让python假定函数的范围是真实的,即
在之前的question中,它已得到部分回答,但如果我们采用衍生工具,我们会再次遇到同样的问题:
from sympy import *
x = Symbol('x', real=True)
class f(Function):
is_positive = True
df = f(x).diff(x)
df, re(df), im(df)
结果:
(f(x).diff(x),re(f(x).diff(x)),im(f(x).diff(x)))
希望它像
(f(x).diff(x),f(x).diff(x),0)
有办法吗?