170 likes | 292 Views
ユークリッド虚2次体における 最大公約数の計算. (1 - ω)-ary GCD Algorithm in Z[ω] Fujikula Yohei (2007/02/09). 内容. > 虚2次体 R(√ ) の整数 Z[ω] にお ける最大公約数の計算 > ユークリッド互除法の適用と結果. -3. 整数 Z[ω]. > Z[ω] = { x + yω | x,y∈Z } , ω = (-1+√ ) / 2. -3. 3ω. 2ω. ω. O. 1. 2. 3. ノルム. ―.
E N D
ユークリッド虚2次体における最大公約数の計算ユークリッド虚2次体における最大公約数の計算 (1 - ω)-ary GCD Algorithm in Z[ω] Fujikula Yohei (2007/02/09)
内容 > 虚2次体 R(√) の整数 Z[ω] にお ける最大公約数の計算 > ユークリッド互除法の適用と結果 -3
整数 Z[ω] > Z[ω] = { x + yω|x,y∈Z }, ω = (-1+√ ) / 2 -3 3ω 2ω ω O 1 2 3
ノルム ― > N( x + yω) = ( x + yω)(x + yω) = x + y - xy Oα = N(α) 2 2 α = x+yω 2 yω x O
約数・倍数 >約数・倍数α=β・γ( α, β, γ∈Z[ω] ) >最大公約数(GCD)公約数の中でノルムが最大のもの
単数・同伴数 >単数すべての整数の約数となるものZ[ω] では, ±1, ±ω, ±ω >同伴数整数 αに対して ±α, ±αω, ±αω 2 2
同伴数 >整数αは同伴な数をすべて約数にもつ ω 2 -αω αω α -α -αω αω 2
ユークリッドの互除法GCD algorithm > a = bq + r のとき(すべて整数)a, b の公約数 と b, r の公約数は等しい. >gcd(a, b) = gcd(b, r ) = gcd(r , r ) = ・・・ = gcd(r , 0) = r 1 1 2 n n
Z[ω] で使うには・・・ >α, β∈Z[ω] α = βγ + δN(β) > N(δ)となる γ, δ∈Z[ω] が必ず存在する.
証明 α = βγ + δN(β) > N(δ) >N((α/β) - γ) < 1 N((α- βγ) / β) < 1 N(α- βγ) < N(β) δ = α- βγ α/β γ
ユークリッドの互除法binary GCD algorithm >binary GCD algorithm in Z input: a, ba ← a / 2 ,b ← b / 2k = min{ k(a), k(b) }while a ≠ b exchange larger of a,b with (a – b) / 2output 2 a k(x): x を 2 で割ることができる回数 k(a) k(b) k(a-b) k
実験(有理整数 Z のcase) 秒 >大きな桁数の計算で有意な結果が得られる. 桁数
Z[ω] での適用のポイント >binary GCD algorithm in Z input: a, ba ← a / 2 ,b ← b / 2k = min{ k(a), k(b) }while a ≠ b exchange larger of a,b with (a – b) / 2output 2 a ① 2 に対応するもの ②α – βを確実 に小さくできるか k(a) k(b) k(a-b) k
Z[ω] での適用のポイント >① 2 に対応するもの → (1 – ω) を選ぶα = a + bωα / (1 - ω) = {(2a - b) / 3} + {(a + b) / 3}ω
Z[ω] での適用のポイント >②α-βを確実に小さくできるかgcd(1 - ω, α) = 1 3 = (1 – ω) (- ω ) からgcd( 3, α) = 1α ≡ 1 (mod 3) 2 2
実験(整数 Z[ω] のcase) 秒 桁数
まとめ >Z[ω] においてもユークリッドの互除法, binary GCD algorithm が適用することができる.