[0]休憩?/[a]素数生成式を考える、[b]オイラーの式:n^2+n+41では、連続40個素数を生成するが、41個を生成する式を試みる、[c]超巨大な素数を追いかけるのではなく、100以下の素数に着目する。素数の個数が一番多く(25個)、やはり密度が高い箇所に分析の対象としたいがため、[d]素数生成式は、過去に、sqrt(n)の連分数での循環節とかを調べていたが、pending、[e]原始根の実用的な使い方が、イマイチ理解できないが、使いたい、[f]数論の書籍を収集したが、読了に至るのはいつのことか?、その中で4n+1, 4n+3素数を知ってよかった、などなど。
---
[1]2017/Nov./2x)本:「世界は素数でできている」、小島寛之、角川新書、(2017)を見ていると、メルセンヌ数がかなり露出しているように感じた。p=(2^x)-1, p=素数、x=(1,2,3,,,自然数)
---
[2]想起:2017/Nov./e)p=(2^x)-1, p=(100以下の素数), x=整数で表現したら、どうなの?
2^x=p+1,log2(2^x)=log2(p+1),x=log2(p+1), cal by casio:fx-915ES.
^^^
p=2,x=1.584962501<=小数部同じ?
p=3,x=2
p=5,x=2.584962501<=小数部同じ?
p=7,x=3
p=11,x=3.584962501<=小数部同じ?
p=13,x=3.807354922
p=17,x=4.169925001
p=19,x=4.321928095
p=23,x=4.584962501<=小数部同じ?
p=29,x=4.906890596
p=31,x=5
p=37,x=5.247927513
p=41,x=5.392317423
p=43,x=5.459431619
...
※小数部(n.584962501)はマジックナンバーか?
---
[3]2017/Dec, (2^n.584962501)-1のnを追求すると、どうなるか?
リアルpに近づいたり、離れたりしている。たまに一致する場面もあるが。これは素数が式では表せない、ランダム性を内在するのか?とか夢想,,,p=式+ランダム,,,(pending)
---
[4]2017/Dec./Mid, (2^x)-1=p<=100, xはどうなの?
x=(整数部).(小数部), (小数部)=同一値で、(整数部)を(n, n+1,,,n+m)と変化させたときに、別の素数との絡みはあるか?とか,,,夢想,,,(pending)
---
[5]2017/Dec./17, 13:47-, (2,3)から全てがつくれるか?とか、,,,夢想,,,(pending)
---
[6](2^x)-1=p, x=n.(小数部),
(minus方向):x=1.(小数部), 2.(小数部), 3.(小数部),,,(n-1).(小数部)
(plus方向):x=(n+1).(小数部), (n+2).(小数部),,,(n+∞).(小数部)
の場合、他のpとの絡みは?
^^^
(minus方向)の場合、合成数を通過する。
例)p=43,x=5.459431619
x=4.459431619, (2^x)-1=21
x=3.459431619, (2^x)-1=10 <=
x=2.459431619, (2^x)-1=4.5
x=1.459431619, (2^x)-1=1.75
x=0.459431619, (2^x)-1=0.375
---
[7]仮説1)[a]奇数は、偶数からつくられる。
[b]素数は、奇数から素数判定で割り出す。基本はフェルマーテストで行う。
[c]カーマイケル数対策は、対象数のx=n.(小数部)の一つ前のx=(n-1).(小数部)の奇数に対する原始根で判定する。
///pow()≡1、@@@TODO
[d]対象数の1つ前が、偶数の場合は、偶数の素因数分解し、その全ての合成数で、原始根を求めて判定する。
///例)@@@TODO
---
[8]仮説1)作業用シート、一部(2017/Dec./19, 06:03)
[a]左端は、偶数だけのはずが、9が混じってしまった。
[b]縦の1列目=4n+1?、2列目以降=4n+3?
---
[9]素数判定
フェルマーテスト:本:「数の世界」、和田秀男、岩波書店、(1981)、p117/
a^(n-1) ≡ 1 (mod n), n=素数
a^(n-1) !≡ 1 (mod n), n!=素数
^^^
フェルマーテストをパスする合成数が存在する、それはカーマイケル数 (Carmichael number)。
---
[10]原始根を求める、紙媒体
本:「数の世界」、和田秀男、岩波書店、(1981)、p.244-/10,000以下の奇素数とその最小素数原始根の表
---
[11]原始根を求める、オンライン
WolframAlpha/primitiveroot[n], n<>pはerror.
---
[12] 原始根を求める、オンライン実行
python.org/online consoleで、pow()を実行可。
>>> pow(123,456,789)
699
@pow(123,456,789)=mod(123^456, 789),pow()=べき剰余
---
[13]原始根をある範囲で求める。オンラインpgm実行環境で、もうしばらくpythonも使っていなかったので、結局慣れているRで実行。誰でも作れる内容ではあるが、自分用に公開。出先で使えるため。
https://ideone.com/4quvcG
---
[14]n=23(=p)の原始根を見る。最小素数原始根=5.
^^^[a]references
[wada's book] min(primitive root(23))=5
http://m.wolframalpha.com/, PrimitiveRoot[23]=5
^^^[b]ideone/4quvcG, makePowList()
pow(2,[0-22],23)
makePowList(v_base = 2, v_mod = 23, op_mode = "list")
v_base v_mod num pow powDiffMod
1 2 23 0 1 22
2 2 23 1 2 21
3 2 23 2 4 19
4 2 23 3 8 15
5 2 23 4 16 7
6 2 23 5 9 14
7 2 23 6 18 5
8 2 23 7 13 10
9 2 23 8 3 20
10 2 23 9 6 17
11 2 23 10 12 11
12 2 23 11 1 22
13 2 23 12 2 21
14 2 23 13 4 19
15 2 23 14 8 15
16 2 23 15 16 7
17 2 23 16 9 14
18 2 23 17 18 5
19 2 23 18 13 10
20 2 23 19 3 20
21 2 23 20 6 17
22 2 23 21 12 11
23 2 23 22 1 22
makePowList(v_base = 2, v_mod = 23, op_mode = "pow1")
v_base v_mod num pow powDiffMod
1 2 23 0 1 22
12 2 23 11 1 22 @pow(2,11,23)=1
23 2 23 22 1 22 @pow(2,22,23)=1
^^^[c]v_base=[3-15], makePowList(v_base, v_mod = 23, op_mode = "pow1")
v_base v_mod num pow powDiffMod
1 3 23 0 1 22
12 3 23 11 1 22
23 3 23 22 1 22
1 4 23 0 1 22
12 4 23 11 1 22
23 4 23 22 1 22
1 5 23 0 1 22
23 5 23 22 1 22
1 6 23 0 1 22
12 6 23 11 1 22
23 6 23 22 1 22
...
[7-14] : {6=(11,22), 7=(22), 8=(11,22), 9=(11,22), 10=(22), 11=(22), 12=(11,22), 13=(11,22), 14=(22)}. except n^0=1
...
1 15 23 0 1 22
23 15 23 22 1 22
^^^[d]checked it same as pow() in python.org.
pow(n,22,23)=1
-
pow(2,11,23)=1
pow(3,11,23)=1
pow(4,11,23)=1
pow(5,11,23)=22 <=here!
pow(6,11,23)=1
pow(7,11,23)=22
pow(8,11,23)=1
pow(9,11,23)=1
pow(10,11,23)=22
pow(11,11,23)=22
pow(12,11,23)=1
pow(13,11,23)=1
pow(14,11,23)=22
pow(15,11,23)=22
...
@all:pow()=1/or/22(=p-1)?
@see sheet[8], n=23(=2^(n.x)-1), 2^(n-1.x)-1=11.
(2017/12/23, started | 2018/01/09, 11:39, touched)
---
[15]n=47(=p)の原始根を見る。
^^^[a]makePowList(v_base = 2, v_mod = 47, op_mode = "pow1")
v_base v_mod num pow powDiffMod
1 2 47 0 1 46
24 2 47 23 1 46
47 2 47 46 1 46
^^^[b]pow(?,?,47)=?
pow(n,46,47)=1
-
pow(2,23,47)=1
pow(3,23,47)=1
pow(4,23,47)=1
pow(5,23,47)=46 <=PrimitiveRoot[47]=5
pow(6,23,47)=1
pow(7,23,47)=1
pow(8,23,47)=1
pow(9,23,47)=1
pow(10,23,47)=46
pow(11,23,47)=46
pow(12,23,47)=1
pow(13,23,47)=46
pow(14,23,47)=1
pow(15,23,47)=46
...
@all:pow()=1/or/46(=p-1)?
@see sheet[8], n=47(=2^(n.x)-1), 2^(n-1.x)-1=23.
---
[16]n=15(!=p)の原始根の状態を見る。
@@@@:TODO
@@@@:TODO
---
[17]to[19] : blank.
---
[20]カーマイケル数対応の例)n=561, @this number is checked by Wikipedia.
[a-1]n=561=4n+1で、1列目の可能性大で、その一つ前は、偶数。
[a]pow(2,560,561)=1,フェルマーテスト=pass.
[b]log2(561+1)=9.13442632,x=0.13442632,
(2^8.x)-1=280<=this selected.偶数でした。
(2^7.x)-1=139.5
(2^6.x)-1=69.249~
(2^5.x)-1=34.1249~
(2^4.x)-1=16.5625
(2^3.x)-1=7.781249~
[c]280=2^3*5*7=2*2*2*5*7
[d][c]から合成数を生成する。
(1組)2, 5, 7
(2組)2*2=4, 2*5=10, 2*7=14, 5*7=35
(3組)2*2*2=8, 2*2*5=20, 2*2*7=28, 2*5*7=70
(4組)2*2*2*5=40, 2*2*2*7=56, 2*2*5*7=140
結果、合成数=(2,4,5,7,8,10,14,20,28,35,40,56,70,140)
[e]求めた合成数の561に対する原始根を求める。
pow(2,合成数,561)=(合成数=原子根)=(2=4,4=16,5=32,7=128,8=256,10=463,14=115,
20=67,28=322,35=263,40=1,56=460,70=166,140=67)
pow(2,40,561)=1から、n=561<>p(prime).
(2017/Dec./23, 21:26)
---
[20-1]n=561,原始根分布は、(pow() by python.org)
^^^[a]pow([2-15],560,561)=1?
pow(2,560,561)=1
pow(3,560,561)=375
pow(4,560,561)=1
pow(5,560,561)=1
pow(6,560,561)=375
pow(7,560,561)=1
pow(8,560,561)=1
pow(9,560,561)=375
pow(10,560,561)=1
pow(11,560,561)=154
pow(12,560,561)=375
pow(13,560,561)=1
pow(14,560,561)=1
pow(15,560,561)=375
^^^[b]pow([2-15],40,561)=1?
pow(2,40,561)=1
pow(3,40,561)=441
pow(4,40,561)=1
pow(5,40,561)=67
pow(6,40,561)=441
pow(7,40,561)=67
pow(8,40,561)=1
pow(9,40,561)=375
pow(10,40,561)=67
pow(11,40,561)=220
pow(12,40,561)=441
pow(13,40,561)=1
pow(14,40,561)=67
pow(15,40,561)=375
(2018/01/09, 10:50, touched)
---
[21]n=1105では?=p/or/<>p?
[a]pow(2,1104,1105)=1, pass. n=1105=p?
[b]
@@@:TODO
---
[22]カーマイケル数で、4n+3を探す。
[22-a]A002997 https://oeis.org/A002997
Carmichael numbers: a^(n-1) == 1 (mod n)
n a(n)
1 561
2 1105
3 1729
4 2465
5 2821
6 6601
7 8911
8 10585
9 15841
10 29341
...
[22-b]4n+3は?
561=3*11*17, 4n+1, pow(2,560,561)=1
1105=5*13*17, 4n+1, pow(2,1104,1105)=1
1729=7*13*19, 4n+1, pow(2,1728,1729)=1
2465=5*17*29, 4n+1, pow(2,2464,2465)=1
2821=7*13*31, 4n+1, pow(2,2820,2821)=1
6601=7*23*41, 4n+1, pow(2,6600,6601)=1
8911=7*19*67, 4n+3, pow(2,8910,8911)=1 <=check this!
10585=5*29*73, 4n+1, pow(2,10584,10585)=1
15841=7*31*73,4n+1, pow(2,15840,15841)=1
29341=13*37*61, 4n+1, pow(2,29340,29341)=1
[22-c]to check n=8911, as (2^n)-1.
log2(8911+1)=13.12153352,x=0.12153352, pow(2,8910,8911)=1, 8911=4n+3,
(2^12.x)-1=4455.000008, 4455=3^4*5*11, odd, pow(2,4454,4455)=4009, 4455=4n+3,
(2^11.x)-1=2227.000004, 2227=17*131, odd, pow(2,2226,2227)=429, 2227=4n+3,
(2^10.x)-1=1113.000002, 1113=3*7*53, odd, pow(2,1112,1113)=130, 1113=4n+1,
(2^9.x)-1=556.000001, 556=2^2*139, even, pow(2,555,556)=8,
-
(2^8.x)-1=277.5000005
(2^7.x)-1=138.2500003
(2^6.x)-1=68.62500013
(2^5.x)-1=33.81250006
(2^4.x)-1=16.40625003
(2^3.x)-1=7.703125016
(2^2.x)-1=3.351562508
(2^1.x)-1=1.175781254
(2^0.x)-1=0.08789062701
[22-d]pow() : to check 4455 as previous one of n=8911.
pow(2,4455,8911)=6364
pow(3,4455,8911)=8910
pow(4,4455,8911)=1
pow(5,4455,8911)=2813
pow(6,4455,8911)=2547
pow(7,4455,8911)=1540
pow(8,4455,8911)=6364
pow(9,4455,8911)=1
pow(10,4455,8911)=8644
pow(11,4455,8911)=267
pow(12,4455,8911)=8910
pow(13,4455,8911)=8910
pow(14,4455,8911)=7371
pow(15,4455,8911)=6098
-
pow(2,8910,8911)=1
pow(3,8910,8911)=1
pow(4,8910,8911)=1
pow(5,8910,8911)=1
pow(6,8910,8911)=1
pow(7,8910,8911)=1274
pow(8,8910,8911)=1
pow(9,8910,8911)=1
pow(10,8910,8911)=1
pow(11,8910,8911)=1
pow(12,8910,8911)=1
pow(13,8910,8911)=1
pow(14,8910,8911)=1274
pow(15,8910,8911)=1
[22-e]to check pos of pow()=1, use makePowList(v_base = 2, v_mod = 8911, op_mode = "pow1")
v_base v_mod num pow powDiffMod
1 2 8911 0 1 8910
199 2 8911 198 1 8910
397 2 8911 396 1 8910
595 2 8911 594 1 8910
793 2 8911 792 1 8910
991 2 8911 990 1 8910
1189 2 8911 1188 1 8910
1387 2 8911 1386 1 8910
1585 2 8911 1584 1 8910
1783 2 8911 1782 1 8910
1981 2 8911 1980 1 8910
2179 2 8911 2178 1 8910
2377 2 8911 2376 1 8910
2575 2 8911 2574 1 8910
2773 2 8911 2772 1 8910
2971 2 8911 2970 1 8910
3169 2 8911 3168 1 8910
3367 2 8911 3366 1 8910
3565 2 8911 3564 1 8910
3763 2 8911 3762 1 8910
3961 2 8911 3960 1 8910
4159 2 8911 4158 1 8910
4357 2 8911 4356 1 8910
4555 2 8911 4554 1 8910
4753 2 8911 4752 1 8910
4951 2 8911 4950 1 8910
5149 2 8911 5148 1 8910
5347 2 8911 5346 1 8910
5545 2 8911 5544 1 8910
5743 2 8911 5742 1 8910
5941 2 8911 5940 1 8910
6139 2 8911 6138 1 8910
6337 2 8911 6336 1 8910
6535 2 8911 6534 1 8910
6733 2 8911 6732 1 8910
6931 2 8911 6930 1 8910
7129 2 8911 7128 1 8910
7327 2 8911 7326 1 8910
7525 2 8911 7524 1 8910
7723 2 8911 7722 1 8910
7921 2 8911 7920 1 8910
8119 2 8911 8118 1 8910
8317 2 8911 8316 1 8910
8515 2 8911 8514 1 8910
8713 2 8911 8712 1 8910
8911 2 8911 8910 1 8910
---
[23]blank.
@@@@@@
@@@@@@
@@@@@@
[TODO]
---
[7][c],[d]
[16]
[21]
@@@@@@
@@@@@@
@@@@@@
---
end.
2018年1月7日日曜日
登録:
投稿 (Atom)