Wolfram mathematica 冲突的Sage与Wolfram对极限的评估?

Wolfram mathematica 冲突的Sage与Wolfram对极限的评估?,wolfram-mathematica,sage,wolframalpha,Wolfram Mathematica,Sage,Wolframalpha,为什么以下计算的限值不同(Sage为1,Wolfram为0),哪一个(如果有)是正确的 编辑:根据@Bill的建议进行修订,以提高Wolfram中的数值精度。(我不知道如何在Sage中做到这一点。)Wolfram图强烈表明,限额确实是0美元,而问题完全在于数字精度 Sage:(您可以剪切/粘贴/执行此代码) ()= f(x)=exp(-x^2/2)/sqrt(2*pi) F(x)=(1+erf(x/sqrt(2))/2 num1(a,w)=(a+w)*f(a+w)-a*f(a) num2(a,w

为什么以下计算的限值不同(Sage为1,Wolfram为0),哪一个(如果有)是正确的

编辑:根据@Bill的建议进行修订,以提高Wolfram中的数值精度。(我不知道如何在Sage中做到这一点。)Wolfram图强烈表明,限额确实是0美元,而问题完全在于数字精度

Sage:(您可以剪切/粘贴/执行此代码)

()= f(x)=exp(-x^2/2)/sqrt(2*pi) F(x)=(1+erf(x/sqrt(2))/2 num1(a,w)=(a+w)*f(a+w)-a*f(a) num2(a,w)=f(a+w)-f(a) den(a,w)=F(a+w)-F(a) V(a,w)=1-num1(a,w)/den(a,w)-(num2(a,w)/den(a,w))^2 假设(w>0);打印(限制(V(a,w,a=oo)) 图(V(a,1),a,0,8) #out()= 1#0,极限[V[a,w],a->无限]] 绘图[V[a,10],{a,0,100},工作精度->128] #out()=
0(*oo,of the.)

你最好去问ask.sagemath.org,这是Sage的专业知识所在。@iGuanaaut-谢谢,我采纳了你的建议。看起来你有一些非常大和非常小的值,并且正在看到灾难性的取消。对于Mathematica绘图,请尝试
plot[V[a,1],{a,0,8},WorkingPrecision->128]
,这将为您提供一个性能更好的绘图。@比尔-非常感谢-这显然是一个数字精度问题,0确实是极限!现在我不知道是否应该删除这个问题?我猜Sage给出的错误符号结果与数值不稳定性无关。这可能是鼠尾草中的一只虫子。我会向他们报告的。我不会删除。
#in()=
f(x) = exp(-x^2/2)/sqrt(2*pi)
F(x) = (1 + erf(x/sqrt(2)))/2
num1(a,w) = (a+w)*f(a+w) - a*f(a)
num2(a,w) = f(a+w) - f(a) 
den(a,w) = F(a+w) - F(a)
V(a,w) = 1 - num1(a,w)/den(a,w) - (num2(a,w)/den(a,w))^2
assume(w>0); print(limit(V(a,w), a=oo))
plot(V(a,1),a,0,8)

#out()=
1        #<--------- computed limit = 1      
#in()=
f[x_]:=Exp[-x^2/2]/Sqrt[2*Pi]
F[x_]:=(1 + Erf[x/Sqrt[2]])/2 
num1[a_,w_] := (a+w)*f[a+w] - a*f[a]
num2[a_,w_] := f[a+w] - f[a]  
den[a_,w_] := F[a+w] - F[a]
V[a_,w_] := 1 - num1[a,w]/den[a,w] - (num2[a,w]/den[a,w])^2 
Assuming[w>0, Limit[V[a,w], a -> Infinity]]
Plot[V[a, 10], {a, 0, 100}, WorkingPrecision -> 128] 

#out()=
0        (* <--------- computed limit = 0 *)