对 python sympy 中的产品的期望

Expectation of a product in python sympy

在python sympy中我有以下代码

from sympy.stats import P, E, variance, covariance, Normal

mu, sigma = symbols('mu sigma')
epsilon_t = Normal('epsilon_t', 0, sigma)
epsilon_t1 = Normal('epsilon_t+1', 0, sigma)

它定义了两个(大概是独立的)正态随机变量。现在,我希望

E(epsilon_t1*epsilon_t)

等于零,但是当我通过 sympy 运行 这个时,我得到的东西要复杂得多。它告诉我 pi/2 > 2|larg(sigma)| 为零还有一些更复杂的事情。我不关心第二部分,我只希望它为零。我怎样才能做到这一点?

如果您查看 help(arg),您会得到一个有用的提示:如果 x 为正,则 arg(x) 为 0。因此,如果您将参数定义为正而不是实数,arg 将能够评估:

>>> mu, sigma = symbols('mu sigma',positive=True)
>>> epsilon_t = Normal('epsilon_t', 0, sigma)
>>> epsilon_t1 = Normal('epsilon_t+1', 0, sigma)
>>> E(epsilon_t*epsilon_t1)
0