数学

$i^i$

タイトルにも数式を書けるようににしてみました。

$\log{i}$は$e$を何乗かして$i$になる数であるから

\[
\log{i}=\frac{\pi}{2}i
\]

(正確にはそれに$2\pi i$足したり引いたりした数もだがとりあえずそれはおいとく) 

\[
i^i =  e^{i\log{i}} = e^{-\frac{\pi}{2}} = 0.207879576350761908\cdots
\]

 

Posted by issei

Category : 数学

mod p^kにおける平方根

一つ前のエントリでは

\[
x^2 = a \pmod{p}
\]

の解がわかると

\[
x^2 = a \pmod{p^2}
\]

を解くことが出来たのでした。同じ考え方で任意の$p^k$について次のようにして求めることが出来ます。

\[
(x-\sqrt{a})^k
\]
を計算して
$\sqrt{a}$の係数が$\pmod{p^k}$で1になるように逆数を乗じればokです。

$\sqrt{a}$の係数が$p$で割り切れてしまうとまずいのでそのことだけ証明しないといけませんが、結論だけから言うとその係数は
$(2u)^{k-1}$に$\mod{p}$で等しくなります。つまり$u^2=a\pmod{p}$としたとき

\[
(u_{k}-v_{k}\sqrt{a})
=(u-\sqrt{a})^k
\]
とすると

\[
v_k=(2u)^{k-1}\pmod{p}
\]
となります。よって$v_k$は$p$と互いに素で、逆数が存在することになり解を求めることが出来ます。
Posted by issei

Category : 数学

mod p^2における平方根

\[
x^2 = a \pmod{p}
\]

の解がわかると

\[
x^2 = a \pmod{p^2}
\]

を解くことができます。その手順について解説します。

$x^2 = a \pmod{p}$の解があるということは

\[
x^2 - a = up
\]

なる$u$があるということです。左辺は次のように変形することができます。

\[
(x-\sqrt{a})(x+\sqrt{a})=up
\]

両辺を二乗すれば

\[
(x-\sqrt{a})^2(x+\sqrt{a})^2=u^2p^2
\]
これより

\[
 \begin{aligned}
((x^2+a)-2x\sqrt{a})((x^2+a)+2x\sqrt{a})=u^2p^2\\
\end{aligned}
\]

を得るので$2x$で各係数を割れば

 \[
\begin{aligned}
\left(\frac{x^2+a}{2x}-\sqrt{a}\right)
\left(\frac{x^2+a}{2x}+\sqrt{a}\right)=\frac{u^2p^2}{4x^2}\\
\end{aligned}
\]

となり$\frac{x^2+a}{2x}$が解になります。最後の$2x$で割るというところが微妙ですが、これはここから$p^2$での剰余を考えて演算をするということで解決できます。


\[
8^2-7=3\cdot 19\\
\]
が既知とします。

\[
\begin{aligned}
(8-\sqrt{7})(8+\sqrt{7})&=3\cdot 19\\
(71-16\sqrt{7})(71+16\sqrt{7})&=3^2\cdot 19^2\\

\end{aligned}
\]

ここで
\[
16 x = 1\ \pmod{19^2}
\]
なる数を探します。すると$158$であることがわかるので左辺の各項に乗じて$19^2$での剰余を求めると

\[
(27-\sqrt{7})(27+\sqrt{7})=0  \pmod{19^2}
\]
を得ることができます。

注)
$2x$が$p$と互いに素であることが重要です。$x$はあきらかに$p$と素ですが2を乗じているので$p$は奇素数でなければなりません。
Posted by issei

Category : 数学

mod Pにおける平方根 その3

8N+1の素数について、もう一つ別の考え方を解説します。多分Tonelli–Shanksのアルゴリズムと同じ考えに基づくものと思われます。

$p-1=2^s t$(ただし$t$は奇数)とおきます。すると任意の$x$に対して
\[
(x^t)^{2^s} = 1
\]
ですから$x^t$は1の$2^t$乗根です。

例えば97を考えると
\[
96 = 2^5\cdot 3
\]
ですから $x^3$は1の32乗根です。一般的に1の32乗根は32個あり、そのうち16個が32乗してはじめて1になる数です。ある数$\omega$が32乗して初めて1になる数とすれば
$\omega^3, \omega^5, \cdots, \omega^31$もまた32乗根してはじめて1になる数です。よって1つそのような数を見つければ他の数は自然と見つかることになります。

(余談ながらその逆数$\omega^{-1}, \omega^{-3},\cdots, \omega^{-31}$も然りです) 

$\omega$を32乗して初めて1になる数(例えば42)としてその数を2乗、4乗としてこれを木の形にしてみます。(下図参照)

51024png

空白になっているところにも$2$の冪乗根があるはずですがそれは何かわからないので空欄にしておきます。また平方根についてはaが平方根の1つなら-aもまた平方根ですので剰余を0から95ではなく-48から47までの間になるように書いています。木の葉のほうから辿れば

42 → 18 → 33 → 22 → -1

です。この中に$a^3$があれば答えは簡単です。例えば$a$が$47$とすれば、$a^3=33$ですから、1つ下の$18$を使って
\[
a^3 = 33 = 18^2
\]
これより両辺に$a$をかけて
\[
a^4 = 18^2a
\]
を得て
\[
(a^2 18^{-1})^2 = a
\]

が答えになります。$18$の逆数 ($18 x =1$なる数)が出てきますがこれは普通に求めてもいいし、そもそも$18^{16-1}=27$が逆数なのでそれを利用しても簡単に求まります。
答えとしては$-12$が得られます。実際$-12^2=47$です。

そうではない場合(例えば$11$)を探す場合は次のようにします。$11^3=-27$です。$-27$を冪冪で累乗していくと

\[
\begin{eqnarray}
(-27)^2 = -47\\
(-47)^2 = -22
\end{eqnarray}
\]
となり、ここで$-22$が出ます。$-22$はツリーのルートのすぐ右側にあるので、この数はツリーの右側にあることがわかります。ところで$\omega$ですが次のような性質を持っています。

  • $\omega^2$を乗ずると2段目のノードに対して左右に移動する
  • $\omega^4$を乗ずると3段目のノードに対して左右に移動する
  • $\cdots$
この性質を利用して$\omega^2(=18)$を42に乗じて(-20になる)そのノードを右側のツリーの同じ場所におきます。そしてそこからまた冪冪でルートに戻っていきます。
このルートの中に求めるノードがあればそれが答えです。残念ながら今回もみつからないので$\omega^4$を乗じます。そうすると-27が無事見つかりました。これから答えが求まります。


71024png


最後に32乗してはじめて1になる数の見つけかたですが、これは平方非剰余な数を3乗すれば求めるものになります。平方非剰余な数は全体の半数ですからランダムに選んで$(p-1)/2$乗して判定することができます。

この方法は運が悪いと沢山計算をする必要がありますが木の高さは $s$ですから最悪でも$s^2$くらいのオーダーの計算量になります。
一方葉は$2^s$のオーダでこれを全部計算するのはsが大きくなるととんでもない数になります。$s$が小さいときは非効率ですが大きくなるにつれて優位性が増すと思われます。
Posted by issei

Category : 数学

mod Pにおける平方根 その2

一つ前のエントリで8N+1型以外の素数についての平方根の計算方法を解説しました。8N+1については同じような考えで求めようとしてもなかなかうまくいきません。
\[
a^n = \pm a (ただしnは偶数)
\]
の形になかなか持ち込めないのがその要因です。
 
そこでちょっと工夫をします。

$\mod{p}$において平方非剰余の数$T$を1つ選びその平方根があると仮定してそれを$\sqrt{T}$と表すことにします。$T$は平方剰余ですから$T^{\frac{p-1}{2}}= -1 \pmod{p}$が成立します。
 
したがって
 
\[
\sqrt{T}^{p}= T^{\frac{p-1}{2}}\sqrt{T} = -\sqrt{T}
\]
 
さて、

\[
x+y\sqrt{T}
\]
 
と表すことができる数を考えます。xの選び方はp通りyの選び方はp通りですから$p^2$通りの組み合わせがあります。
 
このとき
 
\[
(x+y\sqrt{T})^p
\]
 
を考えます。上記の式は二項展開をすると
 
\[
x^p + p(\cdots) +y^p\sqrt{T}^p
\]
 
となりますが。$x^p$と$\sqrt{T}^p$以外の項には全て$p$が掛けられているので0と見なすことができます。一方フェルマーの小定理より$x^p=x, y^p=y$ですから結局
 
\[
(x+y\sqrt{T})^p = (x-y\sqrt{T})
\]
 
です。($p$乗すると共役な元になる)よって
 
\[
(x+y\sqrt{T})^{p+1} = (x+y\sqrt{T})(x-y\sqrt{T}) = x^2 -y^2 T
\]

となり$\sqrt{T}$が消えることになります。そこで

\[
x^2 -y^2 T=a
\]
となるようにうまく$x,y$を選ぶことができれば$p+1$は偶数ですから

\[
(x+y\sqrt{T})^\frac{p+1}{2}
\]

がその平方根になります。
 
仮に$y$を1として探してみます。このとき

\[
T= x^2 -a
\]
が成立するので$x$を適当に変えてみてその値から$a$を引いたもとのが非平方剰余である数を探し$T$として選べば良いことになります。

例)
$p=41$とし$8$の平方根を考えます。$x$を色々変えて見ると、$5^2-8=17$は非平方剰余であることがわかります。よって
\[
(5+\sqrt{17})^{21}
\]
が答えになります。

実際計算をしてみると
\[
\begin{eqnarray}
(5+\sqrt{17})^2=(1+10\sqrt{17})\\
(5+\sqrt{17})^4=(20+20\sqrt{17})\\
(5+\sqrt{17})^8=(25+21\sqrt{17})\\
(5+\sqrt{17})^{16}=(4+25\sqrt{17})
\end{eqnarray}
\]
ですので
\[
(5+\sqrt{17})^{16}(5+\sqrt{17})^{4}(5+\sqrt{17})^{1} =34
\]

となります。実際
 
\[
34^2=8 \pmod{41}
\]
 
です。


余談)
この考えは有限体の理論によって導き出されます
Posted by issei

Category : 数学

mod Pにおける平方根

\[
x^2=a \pmod p
\]
を求めるアルゴリズムとその原理の紹介です。アルゴリズムについては
mod pでの平方根
に書いてあるものと基本的に同じです。
任意の素数$p$に対して

\[
a^{\frac{p-1}{2}} = \pm 1\pmod p
\]

が成立しその符号は$a$が平方剰余かどうかで決まります。今回二乗して$a$になる数を探すので$a$は必ず平方剰余です。つまり上式の値は1です。この式の両辺にさらに$a$を乗ずると

\[
a^{\frac{p+1}{2}} = a\pmod p
\]

よって$\frac{p+1}{2}$が偶数なら

\[
(a^{\frac{p+1}{4}})^2 = a\pmod p
\]

よって

\[
a^{\frac{p+1}{4}}
\]
が解になります。これは$p$が$4N+3$型の素数のときに使えます。簡単ですね。
 
例)
$p=31$として、2の平方根を求めてみる。
$2^{15}=1\pmod{p}$
だから両辺に2を乗じて
$2^{16}=2\pmod{p}$
を得る。よって$2^8$が平方根になる。実際に計算してみると
$2^8=8\pmod{p}$であるから8が2の平方根である。実際$8^2=2\pmod{p}$である。
 
そうではないとき(つまり$p$が$4N+1$型の素数のとき)は次のように考えます。

\[
a^{\frac{p-1}{4}}=\pm 1 \pmod{p}
\]

です。ここから両辺に$a$を乗ずると

\[
a^{\frac{p+3}{4}}=\pm a \pmod{p}
\]

よって$p$が$8N+5$型の素数ならば

\[
\pm (a^{\frac{p+3}{8}})^2= a \pmod{p}
\]
符号が正の場合は$a^{\frac{p+3}{8}}$が解になります。

負の場合は$4N+1$型の素数は-1が平方剰余であるのであらかじめ$-1$の根号($x^2$=-1となる数。仮に$i$と記述する)を求めておけば $ia^{\frac{p+3}{8}}$が解になります。

$i$は平方非剰余の数を$(p-1)/4$すれば見つかります。$1\cdots p-1$なる数のうち半数が平方剰余で半数が平方非剰余ですから2から順番に探索していけば高確率ですぐ見つかりますが$8N+5$型については2が常に平方非剰余ですので$2^{(p-1)/4}$をあらかじめ計算しておけば良いことになります。
 
例)
$p=101$として$5$の平方根を求める。
$5^{(101+3)/8}=56\pmod{p}$
である。よって56が平方根の可能性がある。実際計算をしてみると
$56^2=5\pmod{p}$
であるから56が5の平方根である。
 
同じく$p=101$として$6$の平方根を求める。
$6^{(101+3)/8}=14\pmod{p}$
である。よって14が平方根の可能性がある。実際計算をしてみると
$14^2=95=-6\pmod{p}$
である。そこで二乗して-1になる数を探す。2からチェックをしていくと
$2^{25}=10\pmod{p}$
である。実際
$10^2=-1\pmod{p}$
だから$10$は-1の平方根。これより
$14\times 10=39\pmod{p}$
を得、39が6の平方根であることがわかる。

最後に残ったケース、$p$が$8N+1$型の素数についてはちょっとややこしいので次のエントリーに書きます。
Posted by issei

Category : 数学

ピタゴラスの定理の証明

いろいろあるけれどこの証明が一番秀逸だと思います(それぞれの破片が合同であることは簡単にわかる)。
任意の正方形は5つの破片に切って分けて新しい二つの任意の正方形を作ることができるんですよね。その逆も然り。
path12763png
Posted by issei

Category : 数学

有限体の既約多項式の個数を求める

有限体の各次数における既約多項式の総数というのをここ暫く考えていました。まぁいろいろあるんですが、結論から言うと次の補題を証明した瞬間ほぼ終わりです。

$p$を素数とし、$q=p^n$とする。有限体$F_p$上の多項式$X^q-X$は$d$を$n$の約数とすると$d$次の約数既約多項式全てを因子に持つ。

証明はそんなに難しくないのでまたの機会にでもここに書きます。とりあえず、例を上げます(例が多いブログなもので・・・)

例1)
$F_2$上の$X^{4} - X$の因数分解を考えます。$n=2$です。よって1次式と2次式の分解できます。実際計算してみると

\(\begin{eqnarray*} X^{4} - X = X(X+1)(X^{2} + X + 1) \end{eqnarray*}\)

となります。この式はこれ以上分解するのは不可能です。

例2)
$F_2$上の $X^{8} - X$の因数分解を考えます。$n=3$です。
この式は3の約数である1次と3次の既約多項式を因子に持ちます。実際計算してみると


\(\begin{eqnarray*} X^{8} - X &=& X(X-1)(X^6 + X^5 + \cdots + 1)\\ &=& X(X-1)(X^3 + X + 1)(X^3 + X^2 + 1) \end{eqnarray*}\)

例3)
$F_2$における$X^{16} - X$の因数分解を考えます。$n=4$です。
よって$n$の約数である既約4次式、2次式、1次式を因子にもちます。実際計算してみると、

\(\begin{eqnarray*} X^{16} - X &=& X(X-1)(X^{2} + X + 1)(X^{12} + X^{11} + \cdots + 1)\\ &=& X(X-1)(X^{2} + X + 1)(X^4 +X +1)(X^4 +X^3 +1)(X^4 +X^3 +X^2 +X +1) \end{eqnarray*} \)

以上なんとなく感覚がつかめていただいたでしょうか?2の冪以外の例はまた別の機会にここに書きます。

さて、ここから$F_q$における$n$次の既約多項式の個数を求めます。

$X^q-X$において$n$次の既約多項式の根を全て掛け合わせたものの次数を$\nu(n)$とします。先ほどの例で言えば

\(\begin{eqnarray*} \nu(1)&=& 2\\ \nu(2) &=& 2\\ \nu(3) &=& 6\\ \nu(4) &=& 12\\ \end{eqnarray*}\)
です。この先ですが

\(\begin{eqnarray*} \nu(5) &=& 30\\ \nu(6)&=& 54\\ \end{eqnarray*}\)

と続きます。

さて、$F_q$には$n$の約数である$d$次の既約多項式がすべて存在します。それらの次数を足し合わせれば当然$q$になります。よって、

\(\begin{eqnarray*} \sum_{d|n}{\nu(d)} = q = p^n \end{eqnarray*}\)

が成立します。ここからメビウスの反転公式を使って

\(\begin{eqnarray*} \nu(d) = \sum_{d|n}{\mu\left(\frac{n}{d}\right)p^d} \end{eqnarray*}\)

となります。$\nu(d) / n$が$n$次式の個数になるので


\(\begin{eqnarray*} \frac{1}{n}\sum_{d|n}{\mu\left(\frac{n}{d}\right)p^d} \end{eqnarray*}\)


が求める個数になります。

 

 

Posted by issei

Category : 数学

オイラーのφ関数

wikipediaより

オイラーのトーシェント関数(オイラーのトーシェントかんすう、英: Euler's totient function)は各正の整数 n に対して、1 から n までの自然数のうち n と互いに素なものの個数を φ(n) として与えることによって定まる数論的関数 φ である。慣例的に φ(n) と表記されるため、オイラーの φ 関数(ファイかんすう、phi function)とも呼ばれる。また、簡略的にオイラーの関数と呼ぶこともある。

計算方法概略

簡単にするためまず$n$の素因数分解を$p_1 p_2 p_3 \cdots p_n$とし因子に平方数を含まないとします。 (つまり素数 $p_1, p_2, p_3, \cdots$の羃は1)

$1$から$n$のうち$p_1$の倍数の数が $n / p_1$個あり、 $p_2$の倍数が $n / p_2$あり……ということでこれらの数を$n$から引きます。しかし、これでは $p_1 p_2$など2つの素数の積の数を2回引いてしまうのでそれらを足します。しかし、これでは $p_1 p_2 p_3$のような3つの素数の積になってる数を足しすぎてしまうのでそれらをまた引きます……と考えていけば……

\begin{eqnarray} \phi(n) = n &-& (n / p_1 + n / p_2 + \cdots + n / p_n)\\ &+& (n / p_1p_2 + n / p_1p_3 + \cdots + n / p_{n-1}p_n)\\ &-& (n / p_1p_2p_3 + n / p_1p_2p_4 + \cdots + n / p_{n-2}p_{n-1}p_n)\\ &+& \cdots \end{eqnarray} この式の分母の素数の積は$n$の全ての約数を渡ることは明かです。$n$の約数$d$を素因数分解したとき、それが偶数個なら$n/d$を足し、奇数個なら$n/d$を引いていくという流れになります。なお、上記の式は以下のように書けます。 \begin{eqnarray} \phi(n) = n(1 - 1/p_1)(1 - 1/p_2)(1 - 1/p_3)\cdots(1 - 1/p_n) \end{eqnarray}

\begin{eqnarray} \phi(30) &= 30 - (30 / 2 + 30 / 3 + 30 / 5) + (30 / 6) + (30 / 10) + (30 / 15) - 30 / 30 = 8 \end{eqnarray}

平方数を含む場合ですが例えば $12$のときを考えれば$2$の倍数を除去したときに12の因数である$4$の倍数は既に除去されています。つまり、平方因子をもつ約数は考慮しなくてもよいのです。(つまり、素因数が何種類あるか?が重要)これはそのまま一般に拡張出来ます。実際上記の式は $n$の素因数分解を$p_1^{e_1} p_2^{e_2} p_3^{e_3} \cdots p_n^{e_n}$と分解される場合でも成立します。

$n = p_1^{e_1} p_2^{e_2} p_3^{e_3} \cdots p_n^{e_n}$の素因数をそれぞれの項に配分していけば

\begin{eqnarray} \phi(n) &=& p_1^{e_1}p_2^{e_2}\cdots p_n^{e_n}(1 - 1/p_1)(1 - 1/p_2)(1 - 1/p_3)\cdots(1 - 1/p_n)\\ &=&(p_1^{e_1} - p_1^{e_1-1}) (p_2^{e_2} - p_2^{e_2-1})\cdots (p_n^{e_n} - p_n^{e_n-1}) \end{eqnarray}

なお、上記の式はメビウス関数を使えば \begin{eqnarray} \phi(n) = \sum_{d|n}\mu({d}){\frac{n}{d}} \end{eqnarray} とも表わすことができます。メビウス関数$\mu({n})$は

  • $n$が平方因数を含む場合は$\mu({n})=0$
  • $n$が因数を偶数個含む場合は$\mu({n})=1$
  • $n$が因数を奇数個含む場合は$\mu({n})=-1$
という関数です。

ここからメビウスの反転公式を使って

\begin{eqnarray} \sum_{d|n}\phi(d) = n \end{eqnarray} とか即座に得られるのがまた味わい深いですの。

以上Mathjaxのリハビリでした

Posted by issei

Category : 数学

4n+1の素数を平方の和にする(その2)

相当前にエントリに書いた$4n+1$の素数を平方の和にするアルゴリズムですがガウス整数を使ったもっとスマートな解法を紹介します。

まず前回同様 $p$を$4n+1$の素数として \[ A^2 + 1 = 0 (\mod p) \] なる$A$を求めます。

\[ A^2 + 1 = k p \] です。

左辺はガウス整数を使うとさらに因数分解できて \[ (A + i)(A - i) = k p \] となります。

ここでガウス整数は通常の整数と同様、素因数分解等素数の性質があることを踏まえて等式を見てみます。

$p$はあきらかに$A+i$および$A-i$を割きりません。ということは$p$はガウス整数の世界ではさらなる素数に分解できることを意味します。すなわち最大公約数$(A+i, p)$は1ではなく、$x+iy$の形をしたガウス整数となります。

$(A+i, p) = x + iy$ ならば共役の関係から $(A-i, p) = x - iy$がまた成立します。 一方$(x + iy)(x - iy)$を考えるとこれは有理整数$x^2+y^2$となりこれは$p$を割り切らないといけませんが、 $p$は素数ですから結局これは$p$に等しく$p = x^2 + y^2$となります。

つまり$p$と$A+i$の最大公約数を求めればそこから解は自動的に求まることになります。

最大公約数はガウス整数の世界でもユークリッドの互除法で簡単に求めることができます。

例として、素数$p=120710677$を二つの和にしてみます

\[ 46505545^2 + 1^2 = 17916938 \times 120710677 \]

ですから最初は$46505545+i$と$120710677$の最大公約数を求めればよいことになります。

\[ A_0 = 46505545+i\\ B_0 = 120710677 \] とします。

ノルムを比較すると$|A_0| < |B_0|$で $A_0 = 3 * |B_0| + ...$ ですから最初の計算では $A_1 = A_0, B_1 = B_0 - 3A_0$とすればよいことがわかります。 実際計算してみると \[ A_1 = 46505545+i\\ B_1 = -18805958-3i \] となります。以下同様にして計算していくと

\begin{align} A_2&=&8893629-5i, B_2&=&-18805958-3i\\ A_3&=&8893629-5i, B_3&=&-1018700-13i\\ A_4&=&-274671-122i, B_4&=&-1018700-13i\\ A_5&=&-274671-122i, B_5&=&79984+475i\\ A_6&=&-34719+1303i, B_6&=&79984+475i\\ A_7&=&-34719+1303i, B_7&=&10546+3081i \end{align} ここで$B_7$が求める答えになります。実際 \[ 10546^2+3081^2 = 120710677 \] です

注意

ユークリッドの互除法ではノルムの大きいほうをノルムの小さいほうで割ってその余りに置き換えるという手順を踏むのですが、それは以下のようにして求めます。

$a+ib$を$c+id$で割る場合は \[ \frac{a+ib}{c+id} = \frac{(a+ib)(c-id)}{c^2+d^2} = \frac{ac+bd}{c^2+d^2} + \frac{bc-ad}{c^2+d^2}i \] ここで、有理数 \[ \frac{ac+bd}{c^2+d^2}, \frac{bc-ad}{c^2+d^2} \]に最も近い整数を$n$, $m$とすれば \[ (a+ib) = (n+im)(c+id) + (r+is) \] と書いたときに、$r+is$のノルムは$c+id$より小さくなります。よって$r+is$を余りとみなして計算を進めていくことができます。

別の考察

この例では$(A+i, p)$を考えましたが、$(A+i, k)$を考えても同様に計算をすることができることがわかります。

この場合最大公約数を求めなくても以下のように計算をすることができます。

\[ a^2 + b^2 = 0 (\mod k) \] であることを考えると $a' = a(\mod k), b' = b(\mod k)$とおけば \[ a'^2 + b'^2 = 0 (\mod k) \] もまた成立します。つまり$a'^2 + b'^2$は$k$を割りきります。つまり \[ \frac{(a+ib)(a-ib)}{(a'+ib')(a'-ib')} = \frac{k}{a'^2 + b'^2}p = k'p \] が成立します。右辺は整数ですから左辺は共役なガウス整数の積にならなければなりません。 よって \[ \frac{a+ib}{a'+ib'}または\frac{a+ib}{a'-ib'} \] のどちらかがガウス整数になります。ここで \begin{align} -k/2 &<& a' &<& k/2\\ -k/2 &<& b' &<& k/2 \end{align} なるように a', b'を選べば kより小さい k'が見つかることになります。 この手順を繰替えせば kより始めていつかは1になるので求める解を見付けることができます。

これが前回解説したアルゴリズムと同じものになります。

さらりと流した部分の補足

有理整数がガウス整数の積で表わされる必要条件は共役の因子を含むことである。

ガウス整数をそれぞれ $a+ib$と$c+id$とする。$c\ne 0$, $d\ne 0$, $(a,b)=1, (c,d)=1$と仮定して問題ない。 なぜならもし$(a,b)=k > 1$ならば$a' = a/k, b' = b/k$として $k(a' + ib')(c+id)$を考えればよいからである。 \[ (a+ib)(c+id) = (ac-bd) + i(ad+bc) \] が有理整数なのだから$ad+bc=0$すなわち $ad=-bc$が成立する。 よって、$a$と$b$と互いに素だから$c$が$d$を割り切りかつ$d$が$c$を割きらなければならないが、 これは $c=d$または$c=-d$を意味する。$c=d$とすれば$a=-b$であり$c=-d$とすれば $a=b$である。 いずれにしても共役の因子を含まなくてはならない。

有理整数が共役の数の積で表わされているのなら、その数はガウス整数でなければならない。

$a/b$および$c/d$を考える。$(a,b)=1, (c,d)=1$と仮定して問題ない \[ (\frac{a}{b}+i\frac{c}{d})(\frac{a}{b}-i\frac{c}{d}) = \frac{a^2c^2}{b^2d^2} \] から \[ b^2d^2 = 1 \] これは$b=\pm 1, d=\pm 1$を意味する。

Posted by issei

Category : 数学