9.21 川原未鈴 目次 1、卒研テーマ 2、今後の予定 3、二次篩 1、卒研テーマ 平成17年卒の熊木幸司さんの 『複数多項式二次篩の 数論システムNZMATHへの実装』 を修正する。 いくつかの修正するべき点はメールで指摘されている 2、今後の予定 1、熊木さんの修論を読み、理解する (1)篩を用いた素因数分解(二次篩・複数多項式 二次篩) 本日コ コ (2)Block Lanczos 法 (3)複数多項式二次篩の実装 (4)実装後の考察 2、どこを修正した方がいいのか自分で考えてみる 3、メールで指摘されているところがどこか調べる 4、修正してみる 5、実装後の考察 3、二次篩 Step 1. 因子基底を選択 B∈ ℕに対し 因子基底 J ← 2 ∪ 𝑞 ∈ ℙ>2,≤𝐵 𝑛 𝑞 る 𝑛 + 𝑖 𝑖 ∈ ℕ≤𝐴 定理2.1.3PNTより 𝑠 = #𝐽 ~𝐵/2ln𝐵, #K=A とす 平方剰余QR またA∈ ℕに対し K ← =1 とする 平方剰余QR 𝑛 𝑞 P.48 ≔ 1 (𝑛が法𝑞のQR。即ち𝑛 ≡ 𝑥 2 (mod 𝑞)となる𝑥 ∈ ℤが存在) 定理2.1.3(素数定理)PNT P.36 𝑛 #(ℙ≤𝑛 )~ ln 𝑛 戻る Step 2. 線型関係収集(𝑓𝑘 がJ滑かな𝑘 ∈ 𝐾を決める) 𝑞 ∈ 𝐽で𝑞 > 2なら、各𝑒 ∈ ℕについて 合同式𝑋 2 ≡ 𝑛 (mod 𝑞 𝑒 )の解を K内で小さい方から𝑋 = ℎ, 𝑋 = 𝑖,と二つとり、 それから𝑞 𝑒 個置きにKを篩えば全合同式解が得られ、 任意の𝑘 ∈ 𝐾で 𝑞 𝑒 ∣ 𝑓𝑘 ⟺ 𝑘 ∈ (ℎ + 𝑞 𝑒 ℤ) ∪ (𝑖 + 𝑞 𝑒 ℤ) となる。 また、 2𝑒 ∣ 𝑓𝑘 𝑘 ∈ 𝐾, 𝑒 ∈ ℕ も得る。 故に定理1.2.2PF(P.6)で定義した 𝑓𝑘 の𝑞指数𝑒(𝑘, 𝑞)∈ ℤ≥0 (𝑘 ∈ 𝐾, 𝑞 ∈ 𝐽)が判る。 ここで或𝑞 ∈ 𝐽で𝑒(𝑘, 𝑞)> 0な𝑘 ∈ 𝐾の𝑓𝑘 を初めて求め、 それがJ滑かなら 𝑒 𝑞 𝑞∈𝐽 𝑘,𝑞 = 𝑓𝑘 ≡ 𝑘 2 (mod 𝑛) となる. このような𝑘を個数𝑟 > 𝑠まで探し関係ベクトル集合V を得る. 例 1694を素因数分解 𝑛 = 1649 , 𝐽 = 2,5 , 𝑛 = 40, 𝐾 = 41,42,43,44,45, … 𝒌 41 42 43 44 45 46 47 𝑓𝑘 = 𝑘 2 − 𝑛 32 115 200 287 376 ・・ ・ 560 𝑞 = 5 (𝑒5 (𝑘)) 0 1 1 0 0 ・・ ・ 1 𝑞 = 25 (𝑒25 (𝑘)) 0 1 2 0 0 𝑞 = 2 (𝑒2 (𝑘)) 5 0 3 0 3 1 8 𝑞 (𝑘) 25 × 50𝑞 𝑒= 32 ≡ 32 412 (mod 5 𝑛) 200 𝑞∈𝐽 23 × 52 = 200 ≡ 432 (mod 𝑛) ・・ ・ 5個お き ・・ ・ ・・ ・ 両辺かけると 28 × 52 ≡ (41・43)2 (mod 𝑛) ≡ 1142 (mod 𝑛) gcd(28 × 52 − 114, 𝑛)= 17
© Copyright 2024 ExpyDoc