複数多項式二次篩 12.28 川原 未鈴
目次 1、実験① 2、実験② 3、ガウスの消去法について 4、今後
実験環境 ハードウェア CPU: AMD Phenom(tm) Ⅱ X6 1090T Processor (3.2GHz 6cores) Memory: 8GB Disk: HDD 2TB, SDD 64GB システム Server: Windows Server 2008 R2 Standard Emulator: VMware(R) Player Ver.3.1.3 Linux OS: CentOS 5.5 (CPU: 4cores, Memory: 2GB, HDD: 200GB )
実験① ・NZMATHにある熊木さんのプログラムで実験 ・50桁から60桁の合成数について実験 ・それぞれの実験の対象となった合成数は ほぼ同じ桁数の素数2つの積であるような数とした ・各桁の10個の合成数に対し,平均時間を算出
実験結果 50桁の実験は終了したが、出てきた時間がマイナスになっているものがあり、正確なタイムはわからない。 マイナスになった原因はArithのCPUTimeが大体4000秒までは正確に測れるがそれ以上は正確には測れないため。 Komeyaも同じ性能。
2、実験② ・NZMATHにある熊木さんのプログラムで実験 ・10、15、20、25、30、35、40桁の合成数について実験 ・それぞれの実験の対象となった合成数は ほぼ同じ桁数の素数2つの積であるような数とした ・過程の中を (ⅰ)係数を決める(ⅱ)篩う (ⅲ)𝐵−𝑠𝑚𝑜𝑜𝑡ℎな𝑄(𝑥)を得る(=(ⅰ)+(ⅱ)) (ⅳ)ガウスの消去法(ⅴ)total に分けてそれぞれの時間を出す ・各桁の10個の合成数に対し,それぞれの平均時間を算出
実験結果 10桁 15桁 20桁 25桁 30桁 35桁 40桁 Time of deciding coefficient 0.001 0.00625 0.048 0.2425 0.74 5.74769 19.7342 Sieving Time 0.008 0.0475 0.148 1.00875 3.7425 17.8092 80.105 Total time of getting enough smooth numbers 0.009 0.05375 0.21 1.25125 4.4825 23.5669 99.8558 Time of Gaussian Elimination 0.002 0.00375 0.052 0.28875 1.6825 10.0492 85.3233 Total time 0.019 0.0725 0.358 1.9825 8.34 43.08 242.986
・35桁まではガウスの消去法より篩いのほうに時間がかかっている ・Total Timeは5桁ごと上がるごとに大体5~6倍増えている → 50桁では約6000秒? ・係数決め、篩い、ガウスの消去法以外のところでも桁数が上がるごとに時間がかかっている
2、ガウスの消去法について ・先生からガウスの消去法の改良を提案されたが、codeを見たら先生の言っていた通りになっていた
3、今後 どこかを改良する or どのくらい使えるのかを詳しく調べる 篩いの範囲について考える