数学研发论坛

 找回密码
 欢迎注册
楼主: liangbch

[分享] 重大消息-一种新的任意精度对数算法研制成功

[复制链接]
 楼主| 发表于 2017-12-28 22:34:02 | 显示全部楼层
另外,这种对比测试对有界面的Maple和Mathematica来说,可能不一定公平。

那到不至于,测试是在循环中运行的,循环次数很多,直到总的测试时间达到1秒。另外,循环的开销也已经扣除。你可以去我的网站下载测试代码看看。所有的测试代码都是一样的流程。
值得奇怪的是,Mapple的测试结果波动性非常大。比如,循环3次,则其中某一次的运行时间是另外2次运行时间的10倍以上。你看一下mathmatica的曲线,你会发现,这个库在较低精度和较高精度的情况下都比MPFR性能更好,所有,循环和脚本解释的代价非常低,不会对总的结果造成影响。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-28 22:46:36 | 显示全部楼层
回7楼,
我同意,大数库的关键是乘法。同时我有印象您的大数库针对Intel汇编指令做了极致优化,超越GMP。又不清楚对比的AGM算法是调用您自己的大数库还是GMP的。
故有此问。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-28 22:51:40 | 显示全部楼层
liangbch 发表于 2017-12-28 22:34
那到不至于,测试是在循环中运行的,循环次数很多,直到总的测试时间达到1秒。另外,循环的开销也已经扣 ...

可能跟缓存机制有关。
如Mathematica最好在计算测试部分之前加上
  1. ClearSystemCache[];
复制代码

Mapple不会,估计也有类似语句。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-12-28 22:53:58 | 显示全部楼层
又不清楚对比的AGM算法是调用您自己的大数库还是GMP的

是调用自己的算法。性能的不同完全是因为算法不同导致的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-28 23:04:59 | 显示全部楼层
liangbch 发表于 2017-12-28 22:53
是调用自己的算法。性能的不同完全是因为算法不同导致的。

明白了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-12-28 23:27:54 | 显示全部楼层
这里记录下我对这个问题的探索历史
2004-03-11 http://bbs.csdn.net/topics/40410533
2007-7-6   http://bbs.pfan.cn/post-241245.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-12-28 23:35:29 | 显示全部楼层
你的对数函数运行速度超过了我一千倍,充分展现了算法的魅力,让我无力追赶

赶上我是困难的,但是如果你采用AGM算法,可轻松提速10倍以上。使用AGM计算对数并不困难,算法也很简单。
关于AGM法计算对数,请参阅 http://calc.ac.cn/2017/12/25/agm_estimate/
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-28 23:59:26 | 显示全部楼层
liangbch 发表于 2017-12-28 23:35
赶上我是困难的,但是如果你采用AGM算法,可轻松提速10倍以上。使用AGM计算对数并不困难,算法也很简单。 ...

我做过AGM,但把握不了要求精度与过程精度的关系。如每轮算术几何平均要保留多少位才能保证100位精度。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-29 08:27:02 | 显示全部楼层
恭喜楼主!
任意精度的浮点计算,不仅需要核心的大数算法支持,还需在中间过程中采用恰到好处的临时精度,这些都是很大的学问。
并且,咱们要比就与知名的比!与一流的比!且丝毫不逊色,甚至还有反超!

大数算法要追求极致,必须充分发挥软硬件的性能,当然算法原理还是第一位的,很是磨人,但也可在逐渐提升中获得成就感。
因最近几年工作较忙,我的大数开发几乎处于暂停状态。
好消息是,刚刚公司给我配了台笔记本,可以抛弃之前台式机的老掉牙的XP系统了,
我将先慢慢熟悉64位系统下的编程,而后利用闲暇时间开发特定算法。
另一个好消息则是,随着C++11及更高标准的出台,用C++写代码越来越是一种享受了。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-12-29 10:14:29 | 显示全部楼层
恭喜,是不是要准备发表个文章?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2019-9-18 03:46 , Processed in 0.099414 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表