mattyuuの数学ネタ集

世界は数式で溢れている

p進距離はなぜ特別か?

この記事は、日曜数学 Advent Calendar 2017 - Adventar 22日目の記事です。21日目は三重積さんの射影平面についての導入的な話 - すうがくなどについてのメモでした。

数学界隈のtwitterを見ていると「p進距離」、「p進数体」、「p進付値」とやたら[p進〜」という言葉を目にします。そこで今回は有理数{\mathbb Q}上の「p進距離」に注目します。「p進距離」は一見不思議な距離の定義ですが、オストロフスキーの定理 - Wikipediaを紹介、証明することで、通常の距離と同じくらい自然なものであるということを紹介することが目的です。言わずもがなですが、p素数です。つまり1つ1つの素数に対して、何か距離を定める規則が1つ決まると思ってください。

流れとしては下記となります。

  1. 距離とは何か
  2. 距離の例
  3. ノルムとは何か
  4. ノルムの例
  5. ノルムから距離の導出
  6. p進ノルムとp進距離
  7. オストロフスキーの定理とその証明

距離とは何か

数学は同じ概念を持つ対象から、それらが持っている性質の本質(エッセンス)を抽出し、逆にその本質をもって概念を定義し直します。距離という概念に対しても日常生活で使用しているユークリッド距離以外に、マハラノビス距離、ハミング距離など対象や用途によって様々な距離があります。

これらの距離の性質から本質を取り出し、距離を数学的に定義すると下記のようになります。

<距離の定義>
空でない集合Xに対して、X\times Xから\mathbb{R}_{\geq0}への写像dが、次の1)〜3)を満たすとき、dを集合X上の距離関数と呼び、集合Xの2点xyの距離をd(x,y)で定義する。
1) {}^\forall x,y \in Xに対して、「d(x,y)=0 \iff x=y」が成り立つ。
(同一の点間の距離は0だし、2点間の距離が0ならその2点の距離は0という当たり前のこと。)

2) {}^\forall x,y \in Xに対して、「d(x,y)=d(y,x)」が成り立つ。
(xyの距離はyxの距離と等しいという当たり前のこと。)

3) {}^\forall x,y,z \in Xに対して、「d(x,z)\leq d(x,y) + d(y,z)」が成り立つ。
(xからzへ行きたい時、どこか別の点yを経由すると歩く距離が長くなってしまうという当たり前のこと。)

逆にどんな関数でも、この条件を満たせば距離関数と呼んでよく、距離関数によって集合上に距離が定まることになります。

なお、空でない任意の集合Xに対して、距離関数d_0を、
\displaystyle
  d_0(x,y) = \begin{cases}
    0 & (x=y) \\
    1 & (x\neq y)
  \end{cases}
で定義すると、これは明らかに距離関数の条件を全て満たします。
この距離関数によって定まる距離を自明な距離と呼びます。

また、2つの距離関数d_1d_2に対して、「\lim_{n\rightarrow \infty }d_1(x_n,x) = 0 \iff \lim_{n\rightarrow \infty }d_2(x_n,x) = 0」が成り立つとき、2つの距離は同じ位相構造を定めると言います*1

今回のテーマのp進距離は有理数\mathbb Q上の距離関数d_pで定義される距離です。その具体的な関数の形はまた後で見ていきます。

距離の例

例えば、次の3つの関数はいずれも{\mathbb R}^2上の距離関数になります。

\displaystyle
\begin{cases}
 d^{(2)}( (x_1,y_1),(x_2,y_2) ) = \sqrt{(x_1-x_2)^2+(y_1-y_2)^2} \\
\\
 d^{(1)}( (x_1,y_1),(x_2,y_2) ) = |x_1-x_2|+|y_1-y_2| \\
\\
 d^{(0)}( (x_1,y_1),(x_2,y_2) ) = \max\{ |x_1-x_2|,|y_1-y_2|\} \\
 \end{cases}

距離関数の条件を満たすことは実際に計算することでわかります。
これらの距離関数がどのような距離を定めているかは、図示するとわかりやすいです。

中学、高校では平面上の2点の距離(つまり、線分の長さ)はd^{(2)}から定まるユークリッド距離で計算しますが、数学的にはd^{(1)}d^{(0)}のような通常とは異なる距離も立派な距離になります。図示するとわかりますが、d^{(2)}d^{(1)}d^{(0)}は同じ位相構造を定めます*2

ノルムとは何か

ノルムは通常ベクトル空間に対して定義されますが、有理数体などの体は、自分自身の体の上のベクトル空間と見なせます。本記事で扱うノルムは有理数体上のものに限られるため、ノルムの定義は最初から体上に定義する形で与えます。

ノルムは中学校で習った絶対値(|\ast|)の一般化です。距離の性質から本質を取り出して、改めて数学的に距離を定義した時と同様に、絶対値で成り立っていた性質から本質的なものだけを取り出して、ノルムの定義としています。

<ノルムの定義>
Kに対して、Kから\mathbb{R}_{\geq0}への写像\varphiが、次の1)〜3)を満たすとき、\varphiを集合X上のノルムと呼ぶ。
1) x \in Kに対して「\varphi(x)=0 \iff x=0」が成り立つ。

2) {}^\forall x,y \in Kに対して、「\varphi(xy)=\varphi(x)\varphi(y)」が成り立つ。

3) {}^\forall x,y \in Kに対して、「\varphi(x+y)\leq \varphi(x) + \varphi(y)」が成り立つ。

(今後、\varphiがノルムのとき、\varphi(x)|x|の様に絶対値の記号を用いて書く。)

2つのノルム|\ast|_1|\ast|_2、及び\alpha > 0に対して任意のx \in K|x|_1=|x|_2^\alphaが成り立っている時、この2つのノルムは同値であるといいます *3

ノルムの例

距離の時と同様に、次で定義される|\ast|_0は明らかにノルムの条件を満たします。これを自明なノルムと呼びます。

\displaystyle
  |x|_0 = \begin{cases}
    0 & (x=0) \\
    1 & (x\neq 0)
  \end{cases}

また、中学校の時に習った絶対値も、当然有理数{\mathbb Q}上のノルムになっています。本記事ではこのノルムを、通常のノルムと呼び、|\ast|_\inftyで表します。

通常のノルム|\ast|_\inftyと、0<\alpha\leq1が与えられた時に、|\ast|_\infty^\alphaもノルムとなります。実際ノルムの条件1)、2)を満たすことは明らかです。
3)に関しても、

\displaystyle
\begin{split}
{|x+y|}^\alpha  & = {|x|}^\alpha{\left|1+\frac{y}{x}\right|}^\alpha \leq |x|^\alpha \left(1+\left|\frac{y}{x}\right|\right)^\alpha \\
& \leq {|x|}^\alpha  \left(1+{\left|\frac{y}{x}\right|}^\alpha\right) = {|x|}^\alpha + {|y|}^\alpha
\end{split}

となり、確かに3)も満たしていることがわかります。

ノルムから距離を構成できる

一般に体K上にノルム|\ast|が与えられているとき、x,y \in Kに対して、

\displaystyle
d(x,y)=|x-y|

と定義すると、これは距離関数の条件を満たすことが簡単に示せます。簡単に示せるわけは、距離関数の条件とノルムの条件はとても似通っており、元々ノルムは距離の一般化として生まれた概念だからだろうと思います。

自明なノルム|\ast|_0からは自明な距離が、通常のノルム|\ast|_\inftyからは通常使うユークリッド距離が導出されます。

先の例では|\ast|_\infty^\alphaもノルムとなっていましたが、|\ast|_\infty^\alphaからは明らかにユークリッド距離と同じ位相構造を定める距離が導出されます。一般に2つのノルムが同値であれば、そのノルムから導出される2つの距離は同じ位相構造を定めます。

「ノルムから導出される有理数体上の距離で、この2つとは違う位相構造を定めるものは他に何があるの?」「残りはp進距離(と同じ位相構造を定める距離)だけですよ。」というのが本記事で言いたいことです。

p進ノルムとp進距離

有理数体上にp進ノルムと呼ばれるノルムを定義します。

<{\mathbb Q}上のp進ノルムの定義>
p素数とし、{\mathbb Q}上のp進ノルム|\ast|_pを次式で定義する。
x\in {\mathbb Q}に対し、
|x|_p= \begin{cases}
    p^{-\nu_p(x)} & (x\neq 0) \\
    0 & (x=0)
  \end{cases}

ただし、\nu_p(x)xp^l\times \frac{a}{b}(lは整数、abpで割れない整数)と表したときの、lで定義します。(\nu_p(x)=l)

一見わかりにくいですが、例えば、

\displaystyle
{\left|\frac{68}{13}\right|}_2={\left|2^2\times\frac{17}{13}\right|}_2=2^{-2}

ですし、

\displaystyle
{\left|\frac{25}{54}\right|}_3={\left|3^{-3}\times\frac{25}{2}\right|}_3=3^{3}

となります。

このp進ノルムから構成される有理数体上の距離をp進距離といい、距離関数をd_pで表します。
\displaystyle
d_p(x,y)={|x-y|}_p

これは通常のユークリッド距離と同じ位相構造を定めません。
それが分かる1例として、22^22^32^4、、、という有理数体上の点列を考えるとこの点列は通常のユークリッド距離では明らかに収束せずに発散しますが、p=2とした2進距離では0との距離が、2^{-1}2^{-2}2^{-3}2^{-4}、、となるので、0に収束します。よってユークリッド距離とp進距離は同じ位相構造を定めません。p_1p_2が相異なる素数の時、p_1進距離とp_2進距離が同じ位相構造を定めないことも明らかでしょう。

オストロフスキーの定理とその証明

ざっと距離、ノルム、p進距離について記載しましたが、本記事で一番いいたいところ、

<オストロフスキーの定理>
有理数{\mathbb Q}上で互いに同値でないノルムは、自明なノルム、通常のノルム、p進ノルムに限られる。

同値なノルムから導出される距離は同じ位相構造を定めていました。オストロフスキーの定理から、ノルムから導出される有理数体上の距離は、同じ位相構造を定める距離にのみ注目すると、自明な距離、ユークリッド距離、p進距離の3種類しかないということが言えます。自明な距離と、私たちが通常使うユークリッド距離に並んで、p進距離が登場しています。よってp進距離は特別!!

では最後にオストロフスキーの定理を証明します。証明は、

整数論〈上〉 POD版

整数論〈上〉 POD版

に倣います。

<オストロフスキーの定理の証明>
\varphi{\mathbb Q}上の自明でないノルムとします。

次の2つは互いに排反であり、どちらかが必ず成り立っています。

  • 少なくとも1つの自然数a>1に対して、\varphi(a)>1 (任意のノルムに関して\varphi(1)=1を簡単に示せるので、1は除外しています。)
  • 任意の自然数nに対して\varphi(n)\leq 1

まず、前者だった場合を考えます。自然数nに対して
\displaystyle
\varphi(n)=\varphi(1+\cdots + 1) \leq \varphi(1) + \cdots \varphi(1) =n
つまり、\varphi(n)\leq nとなるので、\varphi(a)>1となる自然数aに対し、ある実数\alpha (0< \alpha \leq 1)が存在して、
\displaystyle
\varphi(a)=a^\alpha(> 1)
とおくことができます。

任意の自然数Nに対して、これをa進法で展開します(中学校で習った10進法で表されている整数を2進法で表すやり方と全く同じです。)。
\displaystyle
N=x_0+x_1a+\cdots + x_{k-1}a^{k-1}
ただし、0\leq x_i\leq a-1かつ、x_{k-1}\geq 1とします。これはNa進法で[x_{k-1}x_{k-2}\cdots x_1x_0]_aと表せることを意味します。
また、Na進法でk桁の数ということで、
\displaystyle
a^{k-1}\leq N < a^k
が成り立っていることもわかります。(というよりこれが成り立つようにkを決めています。)

ノルムの性質から、
\displaystyle
\begin{split}
\varphi(N)  & \leq \varphi(x_0) + \varphi(x_1)\varphi(a) + \cdots \varphi(x_{k-1})\varphi(a)^{k-1} \\
& \leq (a-1)(1+a^{\alpha}+\cdots +a^{(k-1)\alpha})\\
& \leq (a-1)\frac{a^{k\alpha}-1}{a^\alpha -1} < (a-1)\frac{a^{k\alpha}}{a^\alpha -1}=\frac{(a-1)a^\alpha}{a^\alpha -1}a^{(k-1)\alpha}\\
& \leq \frac{(a-1)a^\alpha}{a^\alpha -1}N^\alpha=CN^\alpha
\end{split}
つまり、
\displaystyle 
\varphi(N) < C N^\alpha
となります。
ここで、Cは下記で定義されるNに依存しない定数です。
\displaystyle
C=\frac{(a-1)a^\alpha}{a^\alpha -1}

CNに依存しないので、m自然数としてNN^mに置き換えると、
\displaystyle
\varphi(N^m)=\varphi(N)^m < CN^{m\alpha}
より、
\displaystyle
\varphi(N) < C^{\frac{1}{m}} N^{\alpha}
となり、m\rightarrow \inftyとすることで、
\displaystyle
\varphi(N)\leq N^{\alpha}
が成り立ちます。

次に、Na^kよりも小さい自然数だったので、b自然数として、N=a^k-bとおきます。ただし、b>a^k-a^{k-1}であると、N\geq a^{k-1}が成り立たなくなってしまうので、0 < b \leq a^k - a^{k-1}です。

任意のNについて\varphi(N) \leq N^{\alpha}を示しましたので、当然bについても\varphi(b) \leq b^\alpha \leq (a^k - a^{k-1})^\alpha成り立っています。
今、a^k=N+bより、ノルムの性質で、
\displaystyle
\varphi(a^k) = \varphi(N + b) \leq \varphi(N) + \varphi(b)
となり、最初の方で示した\varphi(a)=a^\alphaと先ほど示した\varphi(b) \leq (a^k - a^{k-1})^\alphaを用いると、
\displaystyle
\begin{split}
\varphi(N) & \geq \varphi(a^k) - \varphi(b) = \varphi(a)^k - \varphi(b) = a^{\alpha k} - \varphi(b) \\
& \geq a^{\alpha k} - (a^k - a^{k-1})^\alpha = \left(1-\left(1-\frac{1}{a}\right)^\alpha \right)a^{\alpha k} \\
& = C_1 a^{\alpha k} > C_1 N^\alpha
\end{split}
となります。ここで、C_1は下記で定義されるNに依存しない定数です。
\displaystyle
C_1= \left(1-\left(1-\frac{1}{a}\right)^\alpha \right)
先ほどと同様に\varphi(N) > C_1 N^\alphaに対して、NN^mに置き換えると、
\displaystyle
\varphi(N)^m = \varphi(N^m) > C_1 N^{\alpha m}
となり、
\displaystyle
\varphi(N) > {C_1}^{\frac{1}{m}} N^{\alpha}
から、m\rightarrow \inftyとすることで、
\displaystyle
\varphi(N)\geq N^{\alpha}
が成り立ち、先ほど、\varphi(N)\leq N^{\alpha}が成り立つことも示していたので、結局、
\displaystyle
\varphi(N) = N^{\alpha}
であることがわかりました。

最後に、{\mathbb Q}0でない元xx=\pm N_1/N_2(N_1N_2自然数)と表すと、
\displaystyle
\varphi(x)=\varphi\left(\frac{N_1}{N_2}\right) = \frac{\varphi(N_1)}{\varphi(N_2)}=\frac{N_1^\alpha}{N_2^\alpha}=|x|^\alpha
となります*4

まとめると少なくとも1つの自然数aに対して、\varphi(a)>1ならば、ノルム\varphiは通常のノルム|\ast|_\inftyと同値であることがわかりました。

では次に、後者の場合、つまり、任意の自然数nに対して\varphi(n)\leq 1である場合を考えます。

任意の素数pに対して\varphi(p)=1であるとすると、どんな自然数n素数の積で書けるため、ノルムの性質から\varphi(n)=1となり、これから全ての有理数x(\neq 0)に対して\varphi(x)=1が導けてしまいます。これは\varphiが自明なノルムでないことに矛盾するため、少なくとも1つの素数pに対して\varphi(p)<1となります。

ここで素数pとは異なる素数qに対しても、\varphi(q)<1であると仮定します。このとき自然数klを十分に大きく取れば、
\displaystyle
\varphi(p)^k < \frac{1}{2}, \qquad \varphi(q)^l < \frac{1}{2}
が成り立ちます。

p^kq^lは互いの素なので、ある整数uvが存在して、up^k + vq^l = 1となります。そして今任意のnに対して\varphi(n)\leq 1である場合を考えているので、\varphi(u)\leq 1\varphi(v)\leq 1となっており、以上から次の矛盾が得られ、pと異なる素数q\varphi(q)<1となることはないことがわかります。
\displaystyle
1=\varphi(1)=\varphi(up^k + vq^l )\leq \varphi(u)\varphi(p)^k + \varphi(v)\varphi(q)^l < \frac{1}{2} + \frac{1}{2} = 1.

ここまでをまとめると、任意の自然数nに対して\varphi(n)\leq 1である場合はただ1つの素数pが存在して、
\displaystyle
\varphi(p)=\rho < 1
となり、p以外の任意の素数qに対しては
\displaystyle
\varphi(q)= 1
となります。ただし\rho0<\rho < 1を満たす定数です。

あと少しです。以上から、自然数apと互いに素であれば明らかに\varphi(a)=1となります。
最後に、{\mathbb Q}0でない元xx=p^m a/b(abpと互いに素な整数)と表すと、
\displaystyle
\varphi(x)= \varphi(p^m)\frac{\varphi(a)}{\varphi(b)}=\varphi(p)^m=\rho^m=(p^{-m})^{-\frac{\log{\rho}}{\log{p}}}
となり、-\frac{\log{\rho}}{\log{p}}>0なので、これはp進ノルムと同値なノルムであることがわかります。

なんとも鮮やかな証明です。

明日はたけのこさんの保型形式のお話です。お楽しみに。
o-v-e-r-h-e-a-t.hatenablog.com

*1:2つの距離が同じ位相構造を定めることは、2つの距離が同値(あるCDが存在して、任意のxyに対してCd_1(x,y)\leq d_2(x,y)\leq Dd_1(x,y)が成り立つこと。)であることより広い概念です。2つの距離が同値であれば同じ位相構造を定めますが、一般にその逆は成り立ちません。

*2:同値でもあります。

*3:通常ベクトル空間のノルムに対しては、その同値性を「任意のベクトルxに対して、 C|x|_1 \leq |x|_2 \leq D|x|_1]となるCDが存在すること」と、定義します。しかしこの定義では後述するオストロフスキーの定理が強く見えまえん。この同値性を採用してしまうと、有理数体上で互いに同値でないノルムが自明なノルム、通常のノルム、p進ノルム以外にも例えば\sqrt{|x|}というノルムが存在してしまいます。

*4:この式変形で暗黙で使った、\varphi(-1)=1、及び\varphi(N_1/N_2)=\varphi(N_1)/\varphi(N_2)は、ノルムの定義から簡単に導けます。