花了两天时间,终于为我编写的科学计算软件墨言增添了任意精度数值计算能力。
周二早晨的豆浆还没喝完,手机屏幕一亮,一位朋友的信息跃入眼帘:"急!我的项目要精确计算特别大的数值,但电脑只给出了浮点数,关键数字竟然被扔掉了。我要所有数字,不要误差,有办法吗?"放下手机,我就开始构思解决方案。
惊喜总是让人猝不及防!两天以后,一个优雅的解决方案诞生了,能算到任意精度,小数点前后10000位都能瞬间算出结果!
最开心的是,从构思到实现只用了两天时间!周五一早,那位朋友发信息说"太精准了!你是我的神!",真是满满的成就感。
其中,加法和减法的实现没啥好写的,除法等我整理好再写。
乘法的计算思路是分段计算,为了内存分配的灵活性,分段长度可以调整。科学网编辑器的数学公式编辑功能很有Word风范,感觉不是很趁手,不如手写:
这段推导不复杂,但是要把它写成高效执行的计算机程序可要动些脑子哦。
另外,前段时间做了矩阵求逆功能,跟Matlab对比了一下,在一些接近奇异的极端情形下的表现优于Matlab,但我现在不想写它了。
接近奇异的情形在生产生活中看似用不到,大多数人也就不会去重视它。但实际上真的有些重要的应用场景,计量经济学有一个现代分支叫空间计量经济学,它所应用的各种数学模型依赖于一个被称为空间权重矩阵的量,但这个领域的经典应用几乎全部建立在对空间权重矩阵进行主观设定的基础上,这种可笑的做法实际上也是学界的无奈之举、权宜之计。这是因为,想要依据样本数据去计算出空间权重矩阵,就无可避免地要处理接近奇异的矩阵的求逆运算,而这方面的数值计算研究少之又少,最后限制了整个领域的理论发展。
为什么这方面的研究很少?无非是没有很多人去重视而已,很正常。我的贴子都发不出来,这种小众领域继续苟着就行了。眼看他起高楼,眼看他楼塌了。在人类文明的长河中,发生什么都是正常的。
不过呢,好心情还是有的,简单做个了计算:
看到这样密密麻麻的计算结果,竟然感受到了一丝丝变态的快感。完结撒花,这么好的太阳,出门去种菜了。
转载本文请联系原作者获取授权,同时请注明本文来自满朝辉科学网博客。
链接地址:https://wap.sciencenet.cn/blog-3433133-1486161.html?mobile=1
收藏