快速求解数值方程

2024-06-26 08:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用scipy.optimize.newton_krylov来解决下面描述的问题。 但是,它相当慢(这需要数千分)。即使我最初的猜测是非常接近的解决方案,它是缓慢的。这让我想知道是否有更好的方法来做到这一点

找到满足三个方程el1、el2和el3(例如,最小化向量[el1、el2、el3]的范数)的3D点(x,y,z)=pvec的最快方法是什么

sr1=np.sqrt(np.sum( (pvec - p2)**2 )) 
sr2=np.sqrt(np.sum( (pvec - p1)**2 )) 

el1=(sr1 + sr2)/(2.0*scalar1) - 1.0
el2=np.sum( (pvec/scalar2)**2 ) - 1.0
el3=np.dot(v1,(pvec - p1) )/(sr1*scalar3) + \
    np.dot(v2,(pvec - p2) )/(sr2*scalar3) - 1.0

Tags: 方法npscipysqrtdotsump2p1