3
from sympy import *
from sympy.stats import *
mu, Y = symbols('mu Y', real = True, constant = True)
sigma = symbols('sigma', real = True, positive=True)
X = Normal('X', mu, sigma)
E(X, evaluate=False)
我得到:
∞
⌠
⎮ 2
⎮ -(X - μ)
⎮ ──────────
⎮ 2
⎮ 2⋅σ
⎮ √2⋅X⋅ℯ
⎮ ──────────────── dX
⎮ 2⋅√π⋅σ
⌡
-∞
这是我的期望。当要求:
E(X, X>0, evaluate=False)
E(X, X>pi, evaluate=False)
E(X, X >-3, evaluate=False)
使用任何常数,结果是正如预期从条件期望的正常定义。然而,当试图解决:
E(X, X>Y)
我得到一个错误,必须与根。有没有办法来定义一个Y,这样sympy就会承认它是一个常数,就像0或者-3或者甚至是pi一样,并且表现出了与预期的一致?我假设我从sympy那里得到的请求的问题是,Y不知道是不是一个常数,因此,当试图解决这个请求时,sympy面临着一个根本问题。