mathematica
发表于 2013-8-20 16:49:04
本帖最后由 mathematica 于 2013-8-20 16:50 编辑
通过这个来定义负数的zeta函数的.
sin(pi*s/2)在s=-2,-4,-6,-8处明显等于零!
mathematica
发表于 2013-8-20 16:53:05
这个论坛上的人的水平还没高到可以搞这种问题的时候,当然民科除外!
云梦
发表于 2013-8-20 17:06:43
黎曼函数是常用的函数之一,自然需要了解,谈不上研究。
云梦
发表于 2013-8-21 17:04:59
本帖最后由 云梦 于 2013-8-21 17:10 编辑
大于800时的非整数及整数的黎曼函数(正偶数、正奇数及负奇数-∞<0<∞)计算程序已经完成。
云梦
发表于 2013-8-21 17:26:11
本帖最后由 云梦 于 2013-8-21 20:12 编辑
小于800的非整数如何计算还没找到。精度1024位。
云梦
发表于 2013-8-21 20:17:45
本帖最后由 云梦 于 2013-8-21 20:39 编辑
计算黎曼函数常用到k^n,如果用对数计算可以这样:
x=n*Log
x=Exp
但Log和Exp在高精度时很浪费时间,尤其是当n较小时。
因此采用乘法代替乘方。
比如计算2^n可以这样:乘法次数<2log/log
Dim n, i, j As Long
Dim m(10) As Integer
n = Val(Left(Ax.st, Ax.zs + 1))
For i = 0 To 100
If n Mod 2 = 1 Then
n = (n - 1) / 2
m(i) = 1
Else
n = n / 2
m(i) = 0
End If
If n = 1 Then Exit For
Next
j = i
Ax.Bz = ""
Ax.st = "2"
Ax.zs = 0
Ex = Ax
Px = Ex
For i = 0 To j
Ax = Px
Cx = Px
Call Mult_
If m(j - i) = 1 Then
Ax = Ex
Call Mults_
Px = Cx
Else
Px = Cx
End If
Next
乘法:CX*AX ->CX Mult_() 高精度乘法(指定精度,最大到1024),Mults_() 双精度乘法(12位)
云梦
发表于 2013-8-21 20:25:31
云梦 发表于 2013-8-21 17:04
大于800时的非整数及整数的黎曼函数(正偶数、正奇数及负奇数-∞
代码即使贴出来也不好看懂,只有我才懂得代码的意义。
云梦
发表于 2013-8-22 11:20:47
n=999/1000
z=960
N[(z/(n-1)+1/2)/z^n+Sum Gamma/Gamma/(2 k)! z^(1-n-2 k),{k,1,400}]+Sum,1024]
当n不是整数时Mathmatica的计算速度也很慢,可为什么计算Zeta时速度会很快?
云梦
发表于 2013-8-22 15:18:40
除了速度问题,黎曼函数的计算已经全部完成。对所有实数均计算通过(-∞<n<+∞)。
下一步将进行全面优化。
云梦
发表于 2013-8-22 17:31:00
j计算难度更大的是不完全黎曼函数。