我尝试用一个参数约束来计算函数的极限。不幸的是,我陷入了参数约束。
我使用以下代码,其中0< alpha<应该假设1
import sympy
sympy.init_printing()
K,L,alpha = sympy.symbols("K L alpha")
Y = (K**alpha)*(L**(1-alpha))
sympy.limit(sympy.assumptions.refine(Y.subs(L,1),sympy.Q.positive(1-alpha) & sympy.Q.positive(alpha)),K,0,"-")
然而,这不起作用。是否有可能像Mathematica那样处理假设?
最好,谢谢你, 费边
答案 0 :(得分:3)
据我所知,假设模块所做的假设尚未被SymPy的其余部分所理解。但limit
可以理解imposed at the time a symbol is created的假设:
K, L = sympy.symbols("K L")
alpha = sympy.Symbol("alpha", positive=True)
Y = (K**alpha)*(L**(1-alpha))
sympy.limit(Y.subs(L, 1), K, 0, "-")
现在限制为0.
没有办法将符号声明为0到1之间的数字,但是可以通过声明一个正符号来解决这个问题,比如t
,并让L = t / (1 + T)。