找回密码
 欢迎注册
查看: 39375|回复: 19

[提问] 调和级数的高精度快速计算

[复制链接]
发表于 2010-5-21 10:22:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
偶发现算出前1千万项的1000位精度,Mathematica只用了1秒钟。 这个有点不可思议,想问一下,其中用到了什么方法 2.30258515071561217417127751533557321584134459284470657002568778\ 1544296098164125158002464298784304627516642735505430973614117773561133\ 2082053205709915161814539752608336755880551375336685936274777879193300\ 1845697860614924097993330761101339754789940578742455504175373966361950\ 8317931526958234073803182537643866080677922335134404633469853516372998\ 2494769226489766523643356251037952895378777460978164654867334401915600\ 4499822227535058219384341617761555997205444135255885834767066057578119\ 7577069917867557365829910071559894700589694927045249566523978591633596\ 3367638860713041215919879178875923785078739182245437832028711188790870\ 8676213778095409396195414691582052691201390486326176213321556746345210\ 5442057674915192503909999749473747387995700386486092308301678699511516\ 2508803536154563018682048945865118044557662165970198013366730345692549\ 5817666455634304181616664108791199174130682897915292958897875518252874\ 8770746987523800614071682786901528857435334209653562830369331677500171\ 611236060344993445181217984*10^7
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 11:01:19 | 显示全部楼层
$\sum_{k=1}^{n}{1/k}~~ln(n)+\gamma$ 其中 $\gamma=0.577215664901532860606512090082402431042159335...$ 为欧拉常数。 所以Mathematica实际上仅需高精度计算 $ln10=2.302585092994045684017991454684...$ 即可,1秒足矣。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-21 11:16:20 | 显示全部楼层
这个是逼近公式,感觉对高精度计算的作用不大吧 莫非用到这个不等式? $1/{2(n+1)}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-5-21 11:19:34 | 显示全部楼层
不对,绝对不是, Mathematica可以计算出 任意的n的任意精度位
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 11:26:15 | 显示全部楼层
2#的公式可以计算任意n的任意精度啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 11:37:45 | 显示全部楼层
不对,绝对不是, Mathematica可以计算出 任意的n的任意精度位 wayne 发表于 2010-5-21 11:19
算法是可以出现分支的, 比如你要算前10个正整数的倒数和,要1000位精度的,用2#的公式可能不合适; 但要算前10^10项,可能就合适了; 也就是说可以智能切换最佳算法。

评分

参与人数 1威望 +6 鲜花 +6 收起 理由
wayne + 6 + 6 有道理,这样就好理解了

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 14:54:37 | 显示全部楼层
Mathematica计算结果: N[HarmonicNumber[10^6], 100]; // Timing Out:11s N[HarmonicNumber[10^10000000], 1000]; // Timing Out:1s 有点儿疑惑。 另外,Mathematica的高精度计算结果一定可靠吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 15:20:37 | 显示全部楼层
ls的疑惑正好证实了gxqcn的猜测。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 15:29:10 | 显示全部楼层
我没有去试验过,不过根据我自己编程的经验肯定会这么做,不想还真是这么做的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-21 17:12:57 | 显示全部楼层
这所谓英雄所见
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 21:07 , Processed in 0.034491 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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