你能解释一下这个Mathematica $ Assumptions行为吗?

时间:2011-12-02 08:09:46

标签: wolfram-mathematica

考虑以下三行Mathematica代码,并注意输入行1和3完全相同(这是我发现的用于演示此行为的最小代码段。)

>> Integrate[Exp[-a^2] Sin[2 p] ((a^2 + b^2) + b*Cos[p] + a*Sin[p]), {p, 0, 2 \[Pi]}]
0

>> $Assumptions = {t > 0};
>> Integrate[Exp[-a^2] Sin[2 p] ((a^2 + b^2) + b*Cos[p] + a*Sin[p]), {p, 0, 2 \[Pi]}]

8/3 Sqrt[a^2+b^2] E^-a^2

请注意,积分应该为0,就像在Mathematica的第一个答案中一样。我输入的假设显然与集成无关。这是一个错误(我使用Mathematica 8.0)?

更奇怪的是,如果我将积分分成2或3个积分的总和,则每个积分都会产生0.如果我从积分中取出不依赖于p的部分,则相同。

对我而言,它看起来像一个错误,但如果有什么我想念的,请告诉我。

2 个答案:

答案 0 :(得分:2)

在Mathematica 7.0.1中,结果为0,而在8.0.4中我们得到

8/3 Sqrt[a^2+b^2] E^-a^2

因此它必须是一个错误,更糟糕的是它是一个错误。幸运的是,人们可以在没有计算机的情况下轻松验证结果,但如果涉及更多的积分则会成为一个主要问题。

答案 1 :(得分:1)

这似乎已经解决了。在9.0版本中,两者都给出结果0。