Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- p進数入門 p進距離と級数の収束

絶対値が定義できると、差の絶対値として距離を定義できます。その事情はp進の世界でも同じです。2つの有理数の差がpでよく割り切れれば、つまり差のp進絶対値が小さければ、この2つの数を「近い」とみなします。

(%i1) texput(nounify(padic_norm),
lambda([arglist],block([f1,f2],[f1,f2]:args(arglist),
concat("\\left| ", tex1(f1), " \\right|_{",tex1(f2),"}"))))$

(%i1) load("padics")$

x, yを有理数として、p進距離padic_distance(x,y,p)は次のようにして定義されます。
(%i2) 'padic_distance(x,y,p)='padic_norm(x-y,p);
$$ \tag{%o2} \mathrm{\%padic\underline{\quad}distance}\left(x , y , p\right)=\left| x-y \right|_{p} $$

早速具体例を計算してみましょう。
(%i3) padic_distance(11^2,11^3,11);
$$ \tag{%o3} \frac{1}{121} $$

これは\(11^2-11^3=11^2\,\left(1-11\right)\)なので差分が11で2回割り切れることから、これが正解です。

次の例題はこれです。
(%i4) padic_distance(11^2*4,11^3,11);
$$ \tag{%o4} \frac{1}{121} $$

こちらも\(11^2\,4-11^3=11^2\,\left(4-11\right)\)なので差分が11で2回割り切れますね。

もう一つ、同じ数ですが、7進距離を考えます。
(%i5) padic_distance(11^2*4,11^3,7);
$$ \tag{%o5} \frac{1}{7} $$

分かりますか?\(11^2\,4-11^3=11^2\,7\)なので差分が7で1回割り切るので、こうなります。

しかし、、、このようなp進距離の計算をたくさんやってみてもあまりp進距離とお友達になった感じがしません。定義に沿って計算はできるけど、ご利益が伝わってきません。

 

p進距離のご利益と言えば、p進収束です。とても簡単な例で収束の計算をしてみることでp進距離に「近づける」かもしれません。
(%i6) load(simplify_sum)$
(%i7) powerdisp:true;
$$ \tag{%o7} \mathbf{true} $$

一つの例として、等比級数の和の公式を思い出しましょう。pを実数で絶対値が1より小さいとき、
(%i8) assume(abs(p)-1<0)$

次の式が成り立つことはご存知でしょう。
(%i9) sum(p^k,k,0,inf)=simplify_sum(sum(p^k,k,0,inf));
$$ \tag{%o9} \sum_{k=0}^{\infty }{p^{k}}=\frac{1}{1-p} $$

この計算をp進距離による収束と見直してみると、素数pに対しても正しい式となることが知られています。例えばp=7として、上記の左辺は、
(%i10) (simp:false,print(1+7^1+7^2+7^3+7^4),simp:true);
$$ \tag{*} 1+7^1+7^2+7^3+7^4\verb| | $$
$$ \tag{%o10} \mathbf{true} $$

7の冪乗の和が無限に続いていると思ってください。一方、右辺は、
(%i11) -1/6;
$$ \tag{%o11} -\frac{1}{6} $$

となります。つまりp=7とすると7進距離で無限和は-1/6に収束します。

第2項までの和、第3項までの和、、、第10項までの和と-1/6の7進距離を計算して、それがどんどん0に近づく様子を見てみます。
(%i12) p:7;
$$ \tag{%o12} 7 $$

次の式で第2項までの和が計算されます。
(%i13) 'padic_distance('sum(p^k,k,0,2),-1/6,p)=padic_distance(sum(p^k,k,0,2),-1/6,p);
$$ \tag{%o13} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{2}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{343} $$

第N項までの和(N=3,,,10)をループで計算してみましょう。
(%i14) for N:3 thru 10 do print('padic_distance('sum(p^k,k,0,N),1/(1-p),p)=padic_distance(sum(p^k,k,0,N),1/(1-p),p));
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{3}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{2401}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{4}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{16807}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{5}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{117649}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{6}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{823543}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{7}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{5764801}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{8}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{40353607}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{9}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{282475249}\verb| | $$
$$ \tag{*} \mathrm{\%padic\underline{\quad}distance}\left(\sum_{k=0}^{10}{7^{k}} , -\frac{1}{6} , 7\right)=\frac{1}{1977326743}\verb| | $$
$$ \tag{%o14} \mathbf{done} $$

確かにNが大きくなるとベキの和と-1/6の7進距離はどんどん小さくなっていくことがわかります。つまり-1/6に収束している、、、感じが掴めると思います。

今回も下記の文献から、p37例2を参考にしました。

 

 

今年の更新はこれが最後です。

来年もよろしくお願いいたします。