在使用Quantum Optics包计算薛定谔方程时,遇到了解方程的精度问题

出现了Warning: Instability detected. Aborting这样的报错。
代码如下

# Particle in harmonic trap potential

#System Parameters
m = 9.9883414*10^(-27);#Li6 mass
#m = 1.0
ω = 2*pi*25.9
T1 = 2*pi/ω
ħ = 6.326*10^-34

# Position Basis
xmin = -300*10^-6 #μm
xmax = 300*10^-6  
Npoints = 100
b_p = PositionBasis(xmin, xmax, Npoints)
b_m = MomentumBasis(b_p)

# Hamiltonian in real space basis
p = momentum(b_m)         #operator
x = position(b_p)         #operator

#H = dense(p^2)/2m + (1/2)*m*ω^2*x^2
T_px = transform(b_m, b_p)
T_xp = dagger(T_px)
H_kin = LazyProduct(T_xp, p^2/2m, T_px)
V = (m*ω^2*x^2)/2
H = LazySum(H_kin, V)

# Initial state
x0 = 1.5*10^-6
p0 = 0.0
sigma0 = 0.6*10^-6
ψ0 = gaussianstate(b_p, x0, p0, sigma0)

# Time evolution
T = [0:T1/10:T1;]
tout,ψt = timeevolution.schroedinger(T, ψ0, H)

为什么没人回复啊,来个大佬救一救

我没用过这个包,也不是这个领域的,只能提些简单的建议。

  1. 这个Warning多半来自于包内部的算法稳定性检查,而并不是Julia语言层面的报错。所以首先怀疑的就是你这个想要求解的问题以及参数是否本身就是比较stiff的,或者没有选用正确的数值算法。
  2. 仔细阅读官方文档和例子,并和自己的尝试进行对比。
  3. 以后遇到和特定领域Julia包有关的问题,最好的方式是直接去GitHub或者他们维护者指定的平台提问。原作者和维护者更加熟悉自己写的东西,可能一看就看出问题了。比如你这个使用的包,你可以去gitter上直接问.
  4. 当你得到回复以后,可以将原因反馈到中文论坛里,供大家学习参考。

好的,我去gitter上问一问

备案号:京ICP备17009874号-2