数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 愚工688

高精度计算大偶数表为两个素数和的表法数值的实例(以当天日期为随机数选择偶数)

  [复制链接]
 楼主| 发表于 2018-9-19 13:20 | 显示全部楼层
本帖最后由 愚工688 于 2018-9-19 05:32 编辑
大傻8888888 发表于 2018-9-18 11:04
按照愚工688先生的算法和天山草先生的数据:
在100亿左右的区域里,可以取相对误差修正系数μ=0.14488
...


应该可以的,比较好的计算范围在80亿-110亿间。
我对100亿以上到125亿范围的偶数使用0.1502,通常略微大一点,可以保障计算值的相对误差大多数处于负值状态。
其实两者的差别并不大:1.14488/1.1502=0.995375;引起的相对误差变化不大。
只要进行了修正,就可以大幅度减小素对连乘式的相对误差值。
修正系数μ 通过样本区间偶数的相对误差统计可以得到,进而扩大到一定的区域使用(否则的话就没有意义了)。

我只找到曾经计算过的200亿时的相对误差的统计数据,如下:
D( 20000000002 )= 25917735   Sp(m)= 29885042.7035  Δ(m)≈ .1531
D( 20000000004 )= 51311042   Sp(m)= 59153553.4711  Δ(m)≈ .1528
D( 20000000006 )= 30786908   Sp(m)= 35492132.0862  Δ(m)≈ .1528
D( 20000000008 )= 25659138   Sp(m)= 29576776.7415  Δ(m)≈ .1527
D( 20000000010 )= 68425196   Sp(m)= 78871404.6518  Δ(m)≈ .1527
D( 20000000012 )= 25832326   Sp(m)= 29777979.3103  Δ(m)≈ .1527
D( 20000000014 )= 26889096   Sp(m)= 30998719.4375  Δ(m)≈ .1528
D( 20000000016 )= 51800888   Sp(m)= 59716920.6829  Δ(m)≈ .1528
D( 20000000018 )= 25653066   Sp(m)= 29577649.5623  Δ(m)≈ .153
D( 20000000020 )= 52694224   Sp(m)= 60736354.5011  Δ(m)≈ .1526
D( 20000000022 )= 51575932   Sp(m)= 59466535.289  Δ(m)≈ .153
D( 20000000024 )= 25668250   Sp(m)= 29582774.8947  Δ(m)≈ .1525
D( 20000000026 )= 25657018   Sp(m)= 29578416.3699  Δ(m)≈ .1528
D( 20000000028 )= 51417671   Sp(m)= 59282428.3864  Δ(m)≈ .153
D( 20000000030 )= 36833469   Sp(m)= 42466739.3518  Δ(m)≈ .1529
D( 20000000032 )= 25763111   Sp(m)= 29700528.9811  Δ(m)≈ .1528
D( 20000000034 )= 61577843   Sp(m)= 70984264.2718  Δ(m)≈ .1528
D( 20000000036 )= 25907500   Sp(m)= 29863891.5527  Δ(m)≈ .1527
D( 20000000038 )= 25657055   Sp(m)= 29576776.7858  Δ(m)≈ .1528
D( 20000000040 )= 70177196   Sp(m)= 80897979.5706  Δ(m)≈ .1528
D( 20000000042 )= 28502947   Sp(m)= 32863085.3242  Δ(m)≈ .153
D( 20000000044 )= 25661662   Sp(m)= 29581983.0571  Δ(m)≈ .1528
D( 20000000046 )= 58047070   Sp(m)= 66921191.9463  Δ(m)≈ .1529
D( 20000000048 )= 31165965   Sp(m)= 35930306.6319  Δ(m)≈ .1529
D( 20000000050 )= 34214026   Sp(m)= 39439646.6653  Δ(m)≈ .1527
D( 20000000052 )= 54259062   Sp(m)= 62553183.1311  Δ(m)≈ .1529
D( 20000000054 )= 26389668   Sp(m)= 30421827.5755  Δ(m)≈ .1528
D( 20000000056 )= 25689129   Sp(m)= 29612890.0931  Δ(m)≈ .1527
D( 20000000058 )= 54333395   Sp(m)= 62648853.1927  Δ(m)≈ .153
D( 20000000060 )= 35961790   Sp(m)= 41449047.4195  Δ(m)≈ .1526
D( 20000000062 )= 30783809   Sp(m)= 35492132.1856  Δ(m)≈ .1529
D( 20000000064 )= 60813459   Sp(m)= 70107915.4354  Δ(m)≈ .1528
D( 20000000066 )= 25660529   Sp(m)= 29576776.8273  Δ(m)≈ .1526
D( 20000000068 )= 26108710   Sp(m)= 30095667.6518  Δ(m)≈ .1527
D( 20000000070 )= 68565608   Sp(m)= 79047850.9844  Δ(m)≈ .1529
D( 20000000072 )= 28068847   Sp(m)= 32357499.4446  Δ(m)≈ .1528
D( 20000000074 )= 26101618   Sp(m)= 30090872.6301  Δ(m)≈ .1528
D( 20000000076 )= 63137206   Sp(m)= 72787917.7139  Δ(m)≈ .1529
D( 20000000078 )= 26095147   Sp(m)= 30083872.4218  Δ(m)≈ .1529
D( 20000000080 )= 35088932   Sp(m)= 40446874.322  Δ(m)≈ .1527
D( 20000000082 )= 52731586   Sp(m)= 60790213.2904  Δ(m)≈ .1528
D( 20000000084 )= 25759099   Sp(m)= 29692764.2141  Δ(m)≈ .1527
D( 20000000086 )= 28516400   Sp(m)= 32870172.5402  Δ(m)≈ .1527
D( 20000000088 )= 52099381   Sp(m)= 60063608.3922  Δ(m)≈ .1529
D( 20000000090 )= 41048827   Sp(m)= 47322842.9804  Δ(m)≈ .1528
D( 20000000092 )= 26016280   Sp(m)= 29993351.1878  Δ(m)≈ .1529
D( 20000000094 )= 52294866   Sp(m)= 60280726.8877  Δ(m)≈ .1527
D( 20000000096 )= 27452552   Sp(m)= 31646235.5629  Δ(m)≈ .1528
D( 20000000098 )= 30108873   Sp(m)= 34711776.6646  Δ(m)≈ .1529
D( 20000000100 )= 68413678   Sp(m)= 78871405.0068  Δ(m)≈ .1529
------------------------------------------------------------------------
相对误差的统计数据:
20000000002 - 20000000100 : n= 50 ,μ= .15282 ,σ= .00013  ,Δmin≈ .1525 ,δmax≈ .1531

因此对于150亿——250亿区域的偶数,都可以使用μ= .15282的值来进行相对误差的修正,效果必然不会差的。
发表于 2018-9-19 16:13 | 显示全部楼层
D(20000000010)=68425196     (引上面数据)误差0.1527
W(20000000010)=59249779*1.1527=68297220
 楼主| 发表于 2018-9-19 21:47 | 显示全部楼层
本帖最后由 愚工688 于 2018-9-19 13:51 编辑
重生888@ 发表于 2018-9-19 08:13
D(20000000010)=68425196     (引上面数据)误差0.1527
W(20000000010)=59249779*1.1527=68297220


如:Sp(20000000010)= 78871404.65 ,那么78871404.65/(1+0.1527)≈68423184.4  
而 D( 20000000010 )= 68425196 ,因此修正后的相对误差Δ(m)≈68423184.4/ 68425196-1=-0.0000294;
这个比较小的相对误差值,实际上是由于 Δ(m)≈ .1527 的尾数舍弃所造成的。

当然我们不可能预先计算出各个偶数的实际的相对误差值,但是用一个根据样本的相对误差的统计平均值μ= .15282来代替一个包含样本的比较大区域各个偶数的实际相对误差值,是可以对一个比较大范围的偶数的素数连乘式的素对数量计算误差值进行修正的,也是比较方便操作的。

你的计算,我不知道是如何与我的素数连乘式的相对误差修正所使用的μ= .1527 有关联的。
发表于 2018-9-19 23:17 | 显示全部楼层
本帖最后由 重生888@ 于 2018-9-19 23:23 编辑
愚工688 发表于 2018-9-19 21:47
如:Sp(20000000010)= 78871404.65 ,那么78871404.65/(1+0.1527)≈68423184.4  
而 D( 20000000010  ...


愚工好!我看了您百亿范围的修正值,试着用我的公式算了一下:
D(20000000010)=(5/3)*20000000010/(ln20000000010)^2=59249779
借用您的修正值0.1527
59249779*1.1527=68297220
修正后:(68425196-68297220)/68425196=0.00187       是不是巧合,我就不知道了!
 楼主| 发表于 2018-9-20 10:13 | 显示全部楼层
本帖最后由 愚工688 于 2018-9-20 02:57 编辑
重生888@ 发表于 2018-9-19 15:17
愚工好!我看了您百亿范围的修正值,试着用我的公式算了一下:
D(20000000010)=(5/3)*20000000010 ...


你借用的我数据中的修正值提高了计算精度,纯属巧合,没有理论依据,能否适合与该数连续的其它偶数谁知道。
修正系数我是用在分母上;你是乘法,完全不同。

再从修正值μ的来源看:
相对误差  Δ=(计算值-真值)/真值
Δ*真值=计算值-真值
真值+ Δ*真值=计算值
真值(1+ Δ)=计算值
真值=计算值/(1+ Δ)    --------  {式1}
当然某个偶数的相对误差 Δ 必须是在真值的基础是才能得出,我们不可能通过其相对误差 Δ反向来求真值,因为没有意义。

但是我们通过对一个小样本区域的偶数的相对误差的统计,得到一个相对误差平均值μ ,是和样本区域各个偶数{式1}的相对误差 Δ 很接近的,因此把相对误差平均值μ代替计算式{式1},就能够大幅度提高一个比较大范围偶数的素对数量计算式的精度。
在素数连乘式中,计算值就是Sp(m),而在我的高精度计算式中,
Sp(m*)=Sp(m)/(1+ μ),------  {式2}
由于{式2}的 μ值 与{式1} 的 Δ值很接近,因此{式2}的计算值Sp(m*)必然与{式1}的真值很接近。
当然这个方法是建立在大偶数时邻近偶数的素对数量的素数连乘计算式的相对误差分布在一个比较集中的小范围的基础上的,即统计样本区间的标准偏差σx 比较小时才有作用。

显然,你用乘法是没有数学上的原理的。
发表于 2018-9-20 10:39 | 显示全部楼层
愚工688 发表于 2018-9-20 10:13
你借用的我数据中的修正值提高了计算精度,纯属巧合,没有理论依据,能否适合与该数连续的其它偶数谁知 ...

谢谢您详细分析!
发表于 2018-9-20 11:34 | 显示全部楼层
下面计算,不是否定您的计算,目的希望真心交流。
D(20000000002)=(5/8)*20000000002/(ln20000000002)^2=22218667

(25917735-22218667)/25917735=0.142      正误差     计算值比真值少
(29885042-25917735)/25917735=0.153      负误差     计算值比真值多
同样20000000010      正误差0.1341       负误差0.1527   
 楼主| 发表于 2018-9-20 21:52 | 显示全部楼层
本帖最后由 愚工688 于 2018-9-21 04:17 编辑
重生888@ 发表于 2018-9-20 03:34
下面计算,不是否定您的计算,目的希望真心交流。
D(20000000002)=(5/8)*20000000002/(ln20000000002 ...


我的相对误差的修正,前提是对使用素数连乘式得到的值的偏差进行修正。
因为大偶数的素数连乘式得到的素对计算值的偏差有趋同性,波动性比较小。

而你是使用分类的计算式进行的计算,本身的相对误差就比较大,没有趋同性。两者不是一回事。
而这里你的例子,似乎采用了对数的方法,更是两种不同的计算体系,不能生搬硬套的使用我的素数连乘法的相对误差修正的方法。

当然,对使用哈代-李德伍特的素对计算式,也是能够进行相对误差的修正的。
哈代-李德伍特的素对计算式:
HL(N)~2C1*N/(lnN)^2  ;—— 要指明的是该式得到的计算值是双计素对值,在稍微大一些的偶数情况下比真值小。
其中 C1是拉曼扭扬系数;
(一)拉曼纽扬系数C(N)=C2A(N)*C2B(N)。
(二)C2A(N)= PI(1-1/(P-1)^2)[这里P为大于“2”,N以内的全部素数]
(三)C2B(N)= PI((P-1)/(P-2))[这里P为大于“2”,能整除N的全部素数] —— 这是拉曼纽扬系数C中含有的波动系数部分。

由于哈代-李德伍特的素对计算式对于 连续偶数的计算值的相对误差,也具有趋向一个小范围,比如:
200亿的偶数系列样本:(注意真值D(N)是单计值,需要乘以2后再计算哈-李计算值 Dh(m)的相对误差)
D( 20000000000 )= 34204396   Dh(m)= 62583955.815   δh(m)=-.08515
D( 20000000002 )= 25917735   Dh(m)= 47427183.157   δh(m)=-.08504
D( 20000000004 )= 51311042   Dh(m)= 93875935.858   δh(m)=-.08523
D( 20000000006 )= 30786908   Dh(m)= 56325561.52   δh(m)=-.08524
D( 20000000008 )= 25659138   Dh(m)= 46937967.938   δh(m)=-.08536
D( 20000000010 )= 68425196   Dh(m)= 125167911.686   δh(m)=-.08537
D( 20000000012 )= 25832326   Dh(m)= 47257274.341   δh(m)=-.08531
D( 20000000014 )= 26889096   Dh(m)= 49194573.275   δh(m)=-.08523
D( 20000000016 )= 51800888   Dh(m)= 94769990.424   δh(m)=-.08525
D( 20000000018 )= 25653066   Dh(m)= 46939353.742   δh(m)=-.08511
D( 20000000020 )= 52694224   Dh(m)= 96387821.94   δh(m)=-.0854
D( 20000000022 )= 51575932   Dh(m)= 94372631.004   δh(m)=-.08511
D( 20000000024 )= 25668250   Dh(m)= 46947486.223   δh(m)=-.08549
D( 20000000026 )= 25657018   Dh(m)= 46940570.027   δh(m)=-.08523
D( 20000000028 )= 51417671   Dh(m)= 94080455.466   δh(m)=-.08513
D( 20000000030 )= 36833469   Dh(m)= 67394173.287   δh(m)=-.08515
D( 20000000032 )= 25763111   Dh(m)= 47134359.263   δh(m)=-.08524
D( 20000000034 )= 61577843   Dh(m)= 112651123.184   δh(m)=-.08529
D( 20000000036 )= 25907500   Dh(m)= 47393615.079   δh(m)=-.08533
D( 20000000038 )= 25657055   Dh(m)= 46937968.002   δh(m)=-.08528
D( 20000000040 )= 70177196   Dh(m)= 128384063.712   δh(m)=-.08529
D( 20000000042 )= 28502947   Dh(m)= 52153295.906   δh(m)=-.08512
D( 20000000044 )= 25661662   Dh(m)= 46946231.857   δh(m)=-.08528
D( 20000000046 )= 58047070   Dh(m)= 106203080.096   δh(m)=-.0852
D( 20000000048 )= 31165965   Dh(m)= 57020940.659   δh(m)=-.0852
D( 20000000050 )= 34214026   Dh(m)= 62590215.289   δh(m)=-.08531
------------------------------------------------------------------------------------------------------------------
20000000000 - 20000000050 :n= 26 μ=-.08524 σ= .0001 δmin=-.08549 δmax=-.08504

因此若把哈代-李德伍特的素对计算式的系数2 修正为2/(1+ μ)=2/0.91476 ≈2.18636 的话,必然能够得到200亿所在的一个比较大区域偶数的素对数量高精度计算值。
比如对2000亿偶数的计算:(没有现成的200亿的修正误差的计算记录)
哈代公式改进系数2.168的计算实例:
D( 200000000010 )= 597262459   Dhg(m)= 1194373928.82   δh(m)=-.00013
D( 200000000012 )= 211454344   Dhg(m)= 422852498.768   δh(m)=-.00013
D( 200000000014 )= 212003641   Dhg(m)= 423949720.680   δh(m)=-.00014
D( 200000000016 )= 422780069   Dhg(m)= 845490644.812   δh(m)=-.00008
D( 200000000018 )= 282334611   Dhg(m)= 564602599.743   δh(m)=-.00012
D( 200000000020 )= 284785883   Dhg(m)= 569535231.886   δh(m)=-.00006
D( 200000000022 )= 434880484   Dhg(m)= 869647542.212   δh(m)=-.00013
D( 200000000024 )= 242973719   Dhg(m)= 485914151.419   δh(m)=-.00007  
D( 200000000026 )= 211436995   Dhg(m)= 422822193.227   δh(m)=-.00012
D( 200000000028 )= 450999930   Dhg(m)= 901964576.693   δh(m)=-.00004


发表于 2018-9-21 09:56 | 显示全部楼层
愚工688 发表于 2018-9-20 21:52
我的相对误差的修正,前提是对使用素数连乘式得到的值的偏差进行修正。
因为大偶数的素数连乘式得到的 ...

谢谢好友的详细解释,对我帮助大也!尤其是对哈-李公式字母的解释,全式的计算,首页匪浅。再次谢谢!好友的帖子,我收藏了。
 楼主| 发表于 2018-9-21 23:14 | 显示全部楼层
略大于200亿时哈-李素对计算式的系数2 修正为2/(1+ μ)=2/(1-0.08502) ≈2.1858时的计算:
( μ可取略大于统计中最大相对误差,尽量保障计算值略微小于真值。)
D( 20100000000 )= 69784830   Dh(m)= 139536385.455   δh(m)=-.00024
D( 20100000002 )= 25766764   Dh(m)= 51534352.968   δh(m)= .00002
D( 20100000004 )= 30930561   Dh(m)= 61845103.045   δh(m)=-.00026
D( 20100000006 )= 51549450   Dh(m)= 103066649.433   δh(m)=-.00031
D( 20100000008 )= 28644854   Dh(m)= 57276662.929   δh(m)=-.00023
D( 20100000010 )= 34371509   Dh(m)= 68711098.083   δh(m)=-.00046
D( 20100000012 )= 53991800   Dh(m)= 107974583.377   δh(m)=-.00008
D( 20100000014 )= 27488926   Dh(m)= 54968881.268   δh(m)=-.00016
D( 20100000016 )= 25814693   Dh(m)= 51609671.992   δh(m)=-.00038
D( 20100000018 )= 62727157   Dh(m)= 125421947.389   δh(m)=-.00026
--------------------------------------------------------------------------------------------------------------------
20100000000 - 20100000018 : n= 10 , μ=-.00024,  σ= .00013  ,  δmin=-.00046  δmax= .00002

在201亿处,系数2修正后取2.1858 ,显得略微大了,因为 δmax已经出现正值了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-6-29 12:49 , Processed in 0.093750 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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