python - 快速求解数值方程
问题描述
我scipy.optimize.newton_krylov
用来解决下面描述的问题。但是,它相当慢(这需要数千个点)。即使我最初的猜测非常接近解决方案,它也很慢。这让我想知道是否有更好的方法来做到这一点。
找到满足三个方程 el1、el2 和 el3的 3D 点的最快方法是什么(x,y,z)=pvec
(例如,最小化向量 [el1,el2,el3] 的范数)。
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
解决方案
我会尝试这里提到的不同方法
根据我的经验,默认方法“hybr”效果很好。
推荐阅读
- c - 使用 C 代码连接到 Monetdb 时出现链接错误
- javascript - 基于不同数据属性的多级过滤DOM问题
- skype-for-business - Skype For Business Online UCWA 应用程序服务器在一段时间后停止工作
- python - 字符串集之间的差异不起作用
- java - h如何打印来自 Axis 1.4 存根的 XML 请求和响应
- active-directory - 活动目录 lastLogonTimestamp - 将整数转换为日期
- regex - 我想将双引号之间的每个字符串修剪为 16 个字符
- debugging - Roku 调试?
- activerecord - Yii ActiveRecord 中的 beforeFind() 和缓存
- python-3.x - 预提交挂钩返回 tortoiseHg 中已检查标记文件的列表