SciPy solve_bvp求解错误参数值及收敛性问题问询
关于scipy.solve_bvp求解本征值问题的疑问
我正在使用scipy的solve_bvp求解常微分方程,以得到一族本征态phi_n和本征值omega_n。方程形式为:
y'' = -(omega_n - f(x)) ** 2 * y
边界条件为y(0)=y(1)=0,其中f(x)是依赖于物理参数的给定函数。
当f(x)处于某些临界状态时,系统行为异常且不稳定。在这些不稳定点附近,solve_bvp要么不收敛,要么得到错误的omega_n值。例如,若本征值应为π、2π、3π……,当输入omega_n的初始猜测为π-0.3时,它可能收敛到2π,这会导致后续计算的物理量出现问题。
我的解和本征值初始猜测质量很高,要么是手动计算得到,要么来自之前solve_bvp的求解结果。
具体问题
solve_bvp使用的积分方法是什么?是否有更适合当前本征值问题的方法?我在官方文档中未找到相关信息,且担心无法更改方法。- 通常哪些因素会影响参数的收敛性?增大
max_nodes会将错误从“重复本征值”/“解未收敛”变为MemoryError,降低tol以提高精度也无明显帮助。
内容的提问来源于stack exchange,提问作者dolefeast
相关产品推荐
相关产品推荐

