符号与数值数学 - 性能

Symbolic vs Numeric Math - Performance

与数值计算相比,符号数学计算(尤其是求解非线性多项式系统)是否会导致巨大的性能(计算速度)劣势?有没有关于这个的benchmark/data?

找到一个相关问题:Symbolic computation vs. numerical computation

另一个:Computational Efficiency of Forward Mode Automatic vs Numeric vs Symbolic Differentiation

这不是问题的直接答案,而是建议的课程更正。

虽然可以以纯数字方式或纯符号方式评估数学表达式,但也可以使用混合方法。

这被称为 Symbolic-numeric computation

Maple是一款具有这种能力的软件包。
注意:我从未使用过 Maple,所以无法添加更多内容。

正在搜索包

我发现在搜索使用符号数字计算的数学包时,通过搜索与符号数字计算相结合的包的名称,我得到了更好的结果,例如

wolfram symbolic-numeric computation

与神经网络相关的具体示例

在神经网络的世界里,人们必须能够计算导数,但是如果在计算之前可以简化导数,那么计算成本就会降低。由于简化导数是一次性的操作,而计算成本会发生数千到数百万次,因此简化是符号化的,然后是数值计算。 Theano 是专门用于神经网络的软件包。

我就是回答您在问题中提到的 Scicomp 问题的人。我个人不知道执行任何经验指标来比较多项式方程组的符号解与数值解的 运行 时间性能。

但是,由于符号化处理方程式中的项、搜索如何 ​​simplify/rearrange 方程式等问题,符号式解决方案在解决问题的大多数方面都会有更多的开销,这应该是相当直观的使它们更容易解决,搜索已知的封闭形式解决方案等。符号求解器的一个主要问题是您可能没有可以找到和使用的封闭形式解决方案,因此无论哪种方式都必须以数字方式解决它。

我能看到符号求解器在 运行 时间方面优于数值解的唯一方法是,如果符号求解器能够足够快地将您的问题识别为具有已知解析解的问题,或者如果它到达最终解决方案,而数值求解器永远不会(也就是发散)。

鉴于您可以找到一个收敛的数值求解器,我认为数值情况通常会更有效,因为在改进您的解决方案方面取得进展的开销要少得多。既然你提到多项式方程组的求解,我怀疑还有一些针对你的问题类型的定制算法可能优于典型的非线性方程求解方案。