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面臨着一個根本問題。