【交流】求解能力显著落后于现今数学发展的Mathematica函数
mathematica吧
全部回复
仅看楼主
吧务
level 15
xzcyr 楼主
既然都有了这帖(https://tieba.baidu.com/p/4850440026)了那就干脆开个相对的主题好了。软件中的算法实现肯定会落后于理论发展,所以请注意本主题讨论的是
显著落后于现今数学发展的函数。为避免讨论门槛过高,接受疑似案例的提出。
回帖时请尽量一楼一话题。
照例放个云笔记链接,用于整理回复中有价值的信息:http://note.youdao.com/noteshare?id=8852f0cea6403beff4dc58efaba13303(不用说,帖子发出的此刻还是白的)
2016年11月05日 14点11分 1
吧务
level 15
xzcyr 楼主
照例占个二楼以防万一。(顶楼的链接要是因为某种原因挂了,将会在此楼的楼中楼中补链。)
2016年11月05日 14点11分 2
吧务
level 15
xzcyr 楼主
依旧由我来开个头吧。Mathematica的多项式因式分解算法据说是至少落后业界十五年了(http://mathematica.stackexchange.com/a/60134/1871)……结果Maple每回和Mathematica相爱相杀就把这个拿出来说。知乎的这个帖子里还提及了一些例子,可以参看:https://www.zhihu.com/question/23433616
2016年11月05日 14点11分 3
level 1
路过。Mathematica已经不甘心好好当一个符号计算软件,看最近版本变化,什么流行加什么,而且多是数值计算套用现成公式实现的。而计算核心几乎没变过。或许商业上的考虑动核心函数成本太大,收益没有。
2016年11月09日 00点11分 4
Mathematica官方定位一直就不是单纯的符号计算软件,只是很多人这么认为而已,相比之下,Maple才是更专注符号计算的
2017年11月06日 02点11分
level 11
[乖]希望mma能把并行做好
2016年11月13日 00点11分 7
level 8
Factor确实多年没进步,补充两个小例子:
Factor[x^10000 + 1]
这个用一些支持符号计算的小软件都能很快算出来,0.1秒也用不了,但MMA一直算啊算
Factor[x^10^7 - 1]
才多大的数啊,这个居然说“指数超出函数 Factor 的界限.”
2017年01月11日 06点01分 8
确实啊,然而在 Maple 里是秒出。
2017年01月23日 05点01分
大数据计算你连alpha试试,也是秒出
2017年05月04日 01点05分
试了一下,11年的台式机,cpu四核3.3G,4G内存,计算第一个例子花费431.08秒。[呵呵]
2017年05月04日 06点05分
level 6
[呵呵]
2017年05月04日 05点05分 15
吧务
level 15
xzcyr 楼主
再补个我熟悉的吧。NDSolve对Burgers方程以及流体力学的欧拉方程组这样的会由光滑的初始条件演化出冲击波的方程尚无支持,这似乎可以算是落后于数学发展了,因为对此类问题似乎已经有不少可用的算法了,甚至连NDSolve的文档里(我指偏微分方程高级导论那部分)都提及了WENO(Weighted Essentially Nonoscillatory)方法,但是这么多年,NDSolve还是没相应支持。
我(多少有些自我安慰地)怀疑,这些现有的方法是不是其实还不够成熟,或者通用性有限,所以NDSolve才没内置这些方法。
下面是两个例子。虽然说都用NDSolve解出来了,但解得其实很勉强。如果NDSolve内置了专门方法的话,求解效果应该会好很多:
https://mathematica.stackexchange.com/q/11748/1871
https://mathematica.stackexchange.com/q/24417/1871
2017年11月04日 09点11分 16
偏微分方程组数值求解比常微分方程组难上很多倍,比如上面提到光滑初始条件造成激波解这一现象在常微分中是不存在的。但激波本身就是一种不连续,很多求解格式由于是截断了高阶项,要么色散过重(非物理振荡)要么耗散过重(大梯度被抹平)。WENO格式是解决色散问题,从而很好捕捉激波,但也有缺陷。
2017年11月04日 11点11分
缺陷在于由于是高阶格式,计算复杂,时间消耗过大。另一方面,过于侧重消除振荡(格式模板加权得到本质无振荡),导致纯光滑流动求解精度下降。总的来说,偏微分方程组的解有时候复杂到难以想象,而且对边界条件非常敏感,所以很难找到较好通用算法。
2017年11月04日 11点11分
1