有了最大值,我无法弄清楚如何进行这个数值积分:
quad_qags( -psi0(x, beta)*diff(psi0(x,beta), x,2 )/2 + V(x)*psi0(x,beta)**2, x, -inf,inf);
它返回名词形式,有办法做到这一点吗?枫给出的答案是
-0.60...
。
这是问题的背景,它来自QM中的变分问题,从高斯函数psi0开始,并且
计算能量:
V(x):= -1/sqrt(1+x**2) ;
psi0(x, beta):= (sqrt(beta)*%e^(-((beta^2*x^2)/2)))/%pi^(1/4);
Energy(beta):= integrate(-psi0(x, beta)*diff(psi0(x,beta), x,2 )/2 + V(x)*psi0(x,beta)**2, x,-inf,inf);
我认为这是不可能进行分析的,所以我尝试了与quad_qags相同的方法。
编辑 这是我在 beta=1 和 Expand() 下达到的结果:
quad_qagi ( expand( %o28) , x, -inf, inf, 'epsrel=1d-8);
(%o35) quad_qagi(-(integrate(psi0(x,1)*('diff(psi0(x,1),x,2))+(2*psi0(x,1)^2)/sqrt(x^2+1),x,-inf,inf)/2),x,-inf,inf,epsrel=1.0*10^-8,epsabs=0.0,limit=200)
这是修复对
quad_qagi
的调用并通过将其替换为 -inf
来解决 minf
的问题后得到的结果。
(%i2) V(x):= -1/sqrt(1+x**2) ;
- 1
(%o2) V(x) := ------------
2
sqrt(1 + x )
(%i3) psi0(x, beta):= (sqrt(beta)*%e^(-((beta^2*x^2)/2)))/%pi^(1/4);
2 2
beta x
- --------
2
sqrt(beta) %e
(%o3) psi0(x, beta) := -----------------------
1/4
%pi
(%i4) Energy(beta):= quad_qagi (-psi0(x, beta)*diff(psi0(x,beta), x,2 )/2 + V(x)*psi0(x,beta)**2, x, minf, inf);
(%o4) Energy(beta) :=
- psi0(x, beta) diff(psi0(x, beta), x, 2)
quad_qagi(-----------------------------------------
2
2
+ V(x) psi0 (x, beta), x, minf, inf)
(%i5) Energy(1);
(%o5) [- 0.6098866396410092, 4.3393502531511445e-9, 270, 0]
与您之前的结果相符。