自从我开始学习python库sympy
和scipy
以来,我想知道如何使用函数scipy.integrate.solve_bvp
和sympy
符号实现测地线方程[1]。我能够实现Christoffel符号计算的符号版本,用于其积分定义。此外,我还定义了ode函数用于积分步骤。
我不能使模块scipy.integrate
像模块示例[3]那样正常工作。库需要一些初始值作为初始猜测。算法应该收敛到以恒定速度遍历的绑定点的曲线。初始点和最终点都没有提供,并且速度范数沿曲线沿着是恒定的。
因此,我请求一些好的研究员帮助调试这个问题。
[1][https://en.wikipedia.org/wiki/Solving_the_geodesic_equations](https://en.wikipedia.org/wiki/Solving_the_geodesic_equations)
[2][https://github.com/alloyha/experiments/blob/main/data/geodesics/ellipsoid_geodesics.ipynb](https://github.com/alloyha/experiments/blob/main/data/geodesics/ellipsoid_geodesics.ipynb)的
[3]https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_bvp.html#scipy.integrate.solve_bvp
1条答案
按热度按时间wgx48brx1#
我会把这个问题作为一个最小化问题来处理,而不是微分方程的积分。
这里有一个例子,我在一个椭圆体上计算测地线近似,基于路径中等距点上的分段线性插值。
字符串
为了验证这种方法,我们可以检查椭球体缩小为球体的情况,测地线长度可以很容易地计算为连接两点的弧的长度。
型
一个在赤道上旅行的小例子
的字符串
非平凡测地线
的字符串