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计算难度更大的是不完全黎曼函数。
页: 1 [2] 3
查看完整版本: 黎曼函数平凡零点