云梦 发表于 2013-8-25 18:27:55

没弄明白多伽马函数:PolyGamma如何计算,n不是整数时,太让人费解。
n表示n阶导数,n可以是非整数?表达的是什么意思?
PolyGamma,Pi阶?不可思议,也没有找到n为小数时的计算公式。

云梦 发表于 2013-8-25 18:42:10

PolyGamma与Zeta之间有(-1)^(n+1)关系,但当n有小数时PolyGamma与Zeta就无关系可言了。

云梦 发表于 2013-8-28 10:37:49

黎曼函数优化完成。
∑1/k^n,{k,1,800}
1.建立不大于890的素数对数表。经测算,k=890时,能够满足Zeta,1024位精度。
2.建立1/p^n表,p为素数。
2.在循环中对k进行因子分解。
3.计算1/k^n可以表成1/p1^n*1/p2^n.....
这样就可以把计算量大大降低,把1/k^n变成乘法,大大降低运行时间。
计算64位Zeta需要0.4s
4.如果同精度下计算过Zeta函数,再计算时省去了建立素数对数表的时间。第二次计算Zeta只需要0.26s
5.如果计算过更高精度的Zeta值,则转换为低精度计算时同样不用再建立素数对数表。

云梦 发表于 2013-8-28 16:50:47

终于完成了不完全黎曼函数。下一步是对Zeta,n,z都是大数时的高精度计算。
这个地方虽然很少有人关顾,但可以记载我的VB编程记录。

ysr 发表于 2013-9-23 18:10:18

云梦 发表于 2013-9-26 14:30:26

1.Dim Dx As Chen
自i定义数据类型:
Private Type Chen      '主数据类型
    Bz As String       '+/-
    st As String       '数值串
    zs As Variant      '指数
End Type
该数据类型由符号,字符串和指数部分组成。
如 - 24.567
Dx.bz="-"
Dx.st="24567"
Dx.zs=1
2.Gsw 是整型常数,指字符串转数据型时每次从字符串截取的字符长度。通常为12.应用于乘法时就是12位数字相乘。
3.Result 以字符串形式输出数据的结果。
4.Zero 是n个“0"组成的字符串。这里Zero="00000......00000" 是1024个”0“或更多。

云梦 发表于 2013-9-26 14:36:07

对于高精度运算,采用了数组。字符需要转换成指定长度的数组才可运算。
Result :每次显示的结果保存在计算机内部,用于连续运算,以保持预设精度。
页: 1 2 3 4 [5]
查看完整版本: 几个VB小程序