wayne
发表于 2010-2-3 23:33:22
感觉你的程序应该快一点点,但你的在计算B70开始溢出了。
而GiNaC是任意精度的
liangbch
发表于 2010-2-4 00:37:11
你调大 NUM_LEN 的值,就可以计算更大的伯努利序列。
GiNaC内核是基于GMP,支持任意精度,这我是知道的。支持任意精度并不难,难的是怎样提高大数计算的性能。我的这个程序的目标不是性能优异,功能强大,而是使用尽可能少的代码,实现所需的功能。
wayne
发表于 2010-2-4 20:05:05
呵呵,强。
白手起家的话我内力还远远不够~~
我只求会用工具就行了。
发现在Gp里面关于Bernoullinumber的函数特别的多 ,
bernreal,bernfrac, bernvec,。。。。
northwolves
发表于 2010-2-7 00:15:53
我只想到取到前n项的值,一元n次方程待定系数解出.:L
northwolves
发表于 2010-2-7 00:20:46
系数的分母的最小公倍数可以查阅:
http://www.research.att.com/~njas/sequences/b064538.txt
mathe
发表于 2010-2-7 15:21:26
分母是可以直接用简单的公式写出来的
无心人
发表于 2010-2-8 08:55:21
to 14# 宝宝
不知道能否得到你编译的静态包
liangbch
发表于 2010-2-8 14:34:30
编译出来的libcln.a有43M之多,压缩以后也有6.4M。我发邮件给你吗?请告诉我你的e-mail
只是呼吸
发表于 2010-3-14 00:52:10
这个任意次幂级数和函数问题,本质上就是一个递推问题:
因为: 我们有恒等式 a^n-(a-1)^n=c_n^1a^(n-1)-c_n^2a^(n-2)+\cdots+(-1)^(k+1)c_n^ka^(n-k)+\cdots+(-1)^(n-1)1,(k=1,2,\cdots,n-1)
上式只要将左边按牛顿公式展开就得到了右边。
现在为了说明问题方便一点,以计算1^3+2^3+3^3+\cdots+n^3的和为例;
因为: a^4-(a-1)^4=4a^3-6a^2+4a-1
在上式中令 a=1,2,3,\cdots,n 得到:
1^4-0^4=4\times1^3-6\times1^2+4\times1-1
2^4-1^4=4\times2^3-6\times2^2+4\times2-1
3^4-2^4=4\times3^3-6\times3^2+4\times3-1
…………………………………………………………………………
…………………………………………………………………………
n^4-(n-1)^4=4\timesn^3-6\timesn^2+4\timesn-1
将以上n个式子相加得:
n^4=4(1^3+2^3+3^3+\cdots+n^3)-6(1^2+2^2+3^2+\cdots+n^2)+4(1+2+3+\cdots+n)-n
这样,只要知道了1^2+3^2+\cdots+n^2和1+2+3+\cdots+n的值,就可以算出
1^3+2^3+3^3+\cdots+n^3 的值了。更高阶的任意次幂级数的和都可以这样做,但需要知道所有小次数的和函数的值。
只是呼吸
发表于 2010-3-14 08:59:40
在上面的推导公式中,用(a+1)^n-a^n=c_n^1a^(n-1)+c_n^2a^(n-2)+\cdots+1更好一点。可以避免公式右端出现负号。其他做法和上面的几乎一样。