8
大学数学基礎解説
文献あり

p進数の解析学と実解析:連続関数編

1108
0

はじめに

 この記事ではp進数からp進数への関数f:ZpQpを対象とした解析学:p進解析について、実解析の理論と比較したりしながら解説していきます。

区間と連続関数

p進数の区間

 実解析や複素解析において関数の定義域はRCではなく一般に区間IRや領域DCとすることが多いです。また基本的な区間や領域として『ある点からの距離がr以下である点の集合』こと円という図形があります。
I={xR|xa|r}(=[ar,a+r])D={zC|zα|r}
となるとp進解析においても同様に円という図形を基本的な領域として考えたくなります。
I={xQp|xa|ppn}=a+pnZp
このような領域のことをp進解析において(有界閉)区間と言います。
 以下簡単のためp進関数f:I=a+pnZpQpについてf:xf(a+pnx)を改めてfとおくことでI=Zpであるものとします。

呼称について

 I=a+pnZpのことを区間と呼ぶのはこれの体積(的なもの)が一次元的な量を持つことから正当化でき(ると思い)ます。
 p進数の区間Iに対して定まる量μ(I)R0を体積的なもの(ハール測度)とみなすにはざっくり以下の要件を満たす必要があります。

  • 平行移動に対する不変性:μ(a+I)=μ(I)
  • 直和に対する加法性:IJ=μ(IJ)=μ(I)+μ(J)

そしてZp/pZpZ/pZからわかるように
Zp=a=0p1(a+pZp)
と直和分解できるのでその体積的なものについて
μ(Zp)=a=0p1μ(a+pZp)=a=0p1μ(pZp)=pμ(pZp)
つまり
μ(pZp)=p1μ(Zp)=|p|pμ(Zp)
が成り立ちます。また一般には同様にして
μ(aZp)=|a|pμ(Zp)(aQp)
が成り立ちます。
 一般にユークリッド空間Rnや複素数平面CR2においては領域Dの体積μ(D)とその定数倍aD={axRnxD}の体積μ(aD)には
μ(aD)=|a|nμ(D)
という関係が成り立つことを考えるとI=a+pnZpは一次元的な領域であると捉えられると思います。

連続と一様連続

 実解析において関数fが区間Iにおいて連続であるとは、Iの任意の点x0において
limxx0f(x)=f(x0)
が成り立つ、あるいは同じことですが
x0I,ε>0,δ>0,xI[|xx0|<δ|f(x)f(y)|<ε]
が成り立つことを言い、またIにおいて一様連続であるとは
ε>0,δ>0,x,yI[|xy|<δ|f(x)f(y)|<ε]
が成り立つことを言いました。これはp進解析においても全く同じなので省略します。
 実解析においては有界閉区間上連続であることと一様連続であることが同値であることが知られていますが、それはp進解析においても同じことを言うことができます。一様連続連続は定義より明らかなので以下の主張を示すことでその同値性を確かめることができます。

 有界閉区間上の連続関数は一様連続である。

 これの実解析とp進解析における証明は非常に似ているどころか全く同じなので同時に証明していきます。

ボルツァーノ=ワイエルシュトラスの定理

 有界な数列は収束部分列を持つ。

実数列の場合

 仮定のような数列{an}について
m=infnan,M=supnan,I0=[m,M]
とおく。このときI0の分割
[m,m+M2],[m+M2,M]
のどちらか一方は無限に項を含んでいるのでそのような一方をI1とおく。同様にInの分割に対して無限に項を含む一方をIn+1としていくとこれはある一点αに収束する。
limnIn=n=0In={α}
ここでIkからそれぞれ(添え字の重複の無いよう)任意に項を一つ取りankとおくと、{an}の部分列{ank}αに収束する数列となる。

p進数列の場合

 仮定のような数列{an}について簡単のためanZpであるものとすると、I0=Zpの分割
pZp, 1+pZp, 2+pZp, , (p1)+pZp
のうちどれか一つは無限に項を含むのでそのような一つをI1=c1+pZpとおく。またI1の分割
c1+p2Zp, (c1+p)+p2Zp, (c1+2p)+p2Zp, , (c1+(p1)p)+p2Zp
のうちどれか一つは無限に項を含むのでそのような一つをI2=(c1+c2p)+p2Zpとおく。同様にInの分割に対して無限に項を含む一つをIn+1=(k=1nckpk1)+pnZpとしていくとこれはある一点α=k=1ckpk1に収束する。
 ここでIkからそれぞれ(添え字の重複の無いよう)任意に項を一つ取りankとおくと、{an}の部分列{ank}αに収束する数列となる。

定理1の証明

 実数またはp進数xに対してxを対応する絶対値とする(つまりxが実数ならx=|x|xp進数ならx=|x|p)。
 有界閉区間I上の連続関数fが一様連続でないと仮定すると一様連続の定義より
ε>0,δ>0,x,yI,(xy<δ)(f(x)f(y)>ε)
となるので、そのようなεに対し
(xnyn<1pn)(f(xn)f(yn)>ε)
なるxn,ynIを取るとボルツァーノ=ワイエルシュトラスの定理から収束部分列xnkが取れ、その収束先をaとおくと
0limkxnkynklimk1pnk=0
なので
limkxnk=limkynk=a
となるが、fの連続性より
0<εlimk|f(xnk)f(ynk)|=|f(a)f(a)|=0
となって矛盾。よって主張を得る。

 ちなみに実関数でもp進関数でも定理1が成り立つのは偶然ではなく、実はハイネ・カントールの定理として一般の距離空間上の関数でも同じことが言えることが知られています(詳しくは Wikipedia 参照)。
 最後に実連続関数とp進連続関数に共通する基本的な性質として有界性定理を紹介しておきます。

有界性定理

 有界閉区間上の連続関数fは有界である。

 主張が成り立たないと仮定すると任意のnZ0に対し
f(xn)>pn
なるxnが存在することになる。これの収束部分列{xnk}を取り
limkxnk=x0
とおくとfの連続性より
f(x0)=limkf(xnk)>limkpnk=
となるがf(x0)は有限であることに矛盾。よって主張を得る。

級数の収束と関数の一様収束

 ここで次の話に進む前にそこで扱う級数や一様収束の話について触れておきます。知っての通りp進数における級数の収束する必要十分条件は以下のように非常に単純なものとなっています。

 p進数列anについて、an0に収束することと級数n=0anが収束することは同値である。

 (左)(右)は収束列はコーシー列であることから
0=limn|k=0nakk=0n1ak|p=limn|an|p
とわかる。
 (左)(右)は任意のε>0にあるNNが存在してnNならば|an|p<εとなるのでn>mNにおいて
|k=0nakk=0mak|pmaxm<kn|ak|p<ε
とコーシー性が成り立つことからわかる。

 そして関数項級数が一様収束する必要十分条件についても全く同じことが言えます。

 p進関数列fnについて、fnI0に一様収束することと級数n=0fn(x)I上一様収束することは同値である。

 一応一様収束の定義を確認しておくと
ε>0,NN,xI,m,nN[m,nNfm(x)fn(x)<ε]
が成り立つとき関数列{fn}I上一様収束すると言います。また級数n=0fn(x)が一様収束するとは
Sn(x)=k=0nfk(x)
I上一様収束するをことを言います。

 (左)(右)は一様収束の定義からn>Nにおいて任意のxZp
|Sn(x)Sn1(x)|p=|fn(x)|p<ε
が成り立つことからわかる。
 (左)(右)はnNならば任意のxZp|fn(x)|p<εとなるのでn>mNにおいて
|Sm(x)Sn(x)|pmaxm<kn|fk(x)|p<ε
が成り立つことからわかる。

 ついでに思い付きで書くと
an=a0+k=0n(ak+1ak)
と表せることから次のような主張が成り立ちます。

定理4,5

 p進数列anが収束することとlimn(an+1an)=0が成り立つことは同値である。
 p進関数列fnI上一様収束することとfn+1fnI0に一様収束することは同値である。

 最後に関数列が一様収束することの嬉しさを一つ紹介しておきます。

 連続関数列fnI上一様収束するとき、その収束先fI上連続である。

 これも実解析とp進解析において本質的に同じなので統一的に証明します。

 任意にx0I,ε>0を取ったとき、fnの一様収束性から任意のxIに対し
f(x)fN(x)<ε3
なる自然数Nが取れ、またfNの連続性からxx0<δならば
fN(x)fN(x0)<ε3
となるようなδ>0が取れる。
 このときxx0<δにおいて
f(x)f(x0)f(x)fN(x)+fN(x)fN(x0)+fN(x0)f(x0)<ε
が成り立つのでfI上連続であることが示された。

ニュートン級数展開

マーラーの定理

 良く知られているように任意のp進数は非負整数列の極限として表すことができます。
Zpa=k=0akpk=limnk=0nakpk(ak{0,1,2,,p1})
したがってp進連続関数fについてf(0),f(1),f(2),の値がわかっていれば
f(a)=f(limnk=0nakpk)=limnf(k=0nakpk)
として任意のp進数aZpにおける値も定まることになります。
 そして実際f(0),f(1),f(2),の値から明示的にf(x)の値を求める公式が存在しており、それをMahlerの定理と言います。

Mahlerの定理

 p進関数fが連続であることと
an:=k=0n(1)nk(nk)f(k)0(n)
となることは同値であり、そのとき
f(x)=n=0an(xn)
が成り立つ。ここで(xn)は一般化二項係数
(xn)=xnn!=x(x1)(x2)(xn+1)n!
とした。

実解析との比較

 この公式は差分作用素
Δg(x)=g(x+1)g(x)
を用いると
f(x)=n=0Δnf(0)n!xn
と表せ(この左辺のことをニュートン級数と言う)、実解析におけるテイラー展開
f(x)=n=0Dnf(0)n!xn
に類似になっていることがわかります(Dは微分作用素Df(x)=f(x)とした)。
 ついでに言うと
Dxnn!=xn1(n1)!Δxnn!=xn1(n1)!Df(x)=n=0Dn+1f(0)n!xnΔf(x)=n=0Δn+1f(0)n!xn
という類似が成り立ちます。
 なお複素解析においてニュートン級数展開が成立するには カールソンの定理 のような強い仮定が必要らしいですが、Mahlerの定理はp進関数においては連続であるという弱い仮定で十分であることを主張しています。

二項変換

 ちなみにx=nZ0のときは
f(n)=k=0(nk)ak=k=0n(nk)ak
と有限和になり、これは 湧水さんの記事 でも紹介されているような有名な変換公式
an=k=0n(1)nk(nk)bkbn=k=0n(nk)ak
に他なりません。

証明のあらすじ

 まず0に収束するp進数列bnに対し
g(x)=n=0bn(xn)
Zp上一様収束する、特に連続であることを示す。
 次にp進連続関数fに対し
an=k=0n(1)nk(nk)f(k)
0に収束することを示す。これにより
f(x)=n=0an(xn)
は連続関数を定めることがわかる。
 また上で言及したようにxZ0においてf(x)f(x)=0であったことから
limZ0xx0(f(x)f(x))=f(x0)f(x0)=0
つまり
f(x)=f(x)=n=0an(xn)
が得られる。といった具合になります。

証明

 上のあらすじで紹介したように、示すべき事実は以下の二つとなります。

 0に収束するp進数列bnに対し
g(x)=n=0bn(xn)
Zp上一様収束する。特に連続である。

 p進整数xに対してxに収束する非負整数列{xn}を取ると、(xk)は整数(xnk)の極限として表せるのでp進整数である。特に|(xk)|p1が成り立つ。よってxに依らず
limn|bn(xk)|plimn|bn|p=0
0に一様収束するので定理6よりgも一様収束する。
 また部分和k=0nbk(xk)は多項式関数なので連続であり、定理7よりgも連続となる。

 p進連続関数fに対し
an=k=0n(1)nk(nk)f(k)
0に収束する。

g(x)の定義

 有界性定理より任意のxZpに対し
|f(x)|ppn
なる整数nが存在するので、pnf(x)を改めてf(x)と置くことで
|f(x)|p1
としてよい。このときf(x)Zpであることに注意する。
 また任意に非負整数sを取って固定しf(x)Zpp進展開
f(x)=n=0fn(x)pn(fn(x){0,1,2,,p1})
に対してp進関数g(x)
g(x)=n=0s1fn(x)pn
と定める。このとき|f(x)g(x)|ppsであることに注意する。
 定理1よりfZp上一様連続であったので
|xy|ppt|f(x)f(y)|pps
なる整数tが存在し、このとき|xy|pptならば
|g(x)g(y)|p=|(g(x)f(x))+(f(x)f(y))+(f(y)g(y))|pmax{|g(x)f(x)|p,|f(x)f(y)|p,|f(y)g(y)|p}ps
となるが、定義より0g(x)ps1であったのでg(x)=g(y)でなければならないことがわかる。
 特にy=x+ptとすると
g(x+pt)=g(x)
つまりgは周期ptの関数ということになる。

bnの収束性

 さてgが周期ptの関数ということはω=exp(2πi/pt)を用いて
g(n)=m=0pt1λmωmn(λm=1ptn=0pt1g(n)ωmn)
と離散フーリエ展開することができる。このときgのニュートン級数展開の係数をbnとおくと
bn=k=0n(1)nk(nk)g(k)=k=0n(1)nk(nk)m=0pt1λmωmk=m=0pt1λmk=0n(1)nk(nk)ωmk=m=0pt1λm(ωm1)n
となるので
λm=1ptn=0pt1g(n)ωmn1ptZ[ω]ωm1ω1=k=0m1ωkZ[ω]p=Φpt(1)=(ω1)φ(pt)k=1pkpt1ωk1ω1(ω1)pt1(p1)Z[ω]×
(最後の式については この記事 の補題4辺りを参照)つまり
|λm|ppt,|ωm1ω1|p1,|ω1|p=p1pt1(p1)
に注意すると
|bn|p=|m=0pt1λm(ωm1)n|pmax0mpt1|λm(ωm1ω1)n(ω1)n|ppt|ω1|pn=ptnpt1(p1)
がわかる。特に十分大きい任意のnに対し|bn|psが成り立つ(具体的にはn(s+t)pt1(p1)であればよい)。

結論

 最後に(nk)Zつまり|(nk)|p1に注意すると
|anbn|p=|k=0n(1)nk(nk)(f(k)g(k))|pmax0kn{|(nk)|p|f(k)g(k)|p}ps
が成り立つので十分大きい任意のnに対して
|an|=|(anbn)+bn|pmax{|anbn|p,|bn|p}ps
と評価でき、sは任意であったことから
limnan=0
を得る。

おわりに

 いやあ(連続関数なら)非負整数点における値さえわかれば任意の点における値が明示的にわかるなんて面白いですね、p進解析。というか定理9の証明で離散フーリエ展開を出してきた先人の閃きに驚かされました。また前半部分は実解析とp進解析の類似性を探りながら書いたのですが、思ったより実解析と同じことをやっているんだなということがわかって、割ととっつきやすい導入にできたんじゃないかなと思います。
 本当は微分や積分などの話もしたかったのですが思いのほか長くなってしまったのと単純に勉強時間が確保できてないのとで一旦「連続関数編」として区切って次回の記事(来週あたり?)でp進関数の微積分について紹介していきたいなと思います。

参考文献

[1]
Kurt Mahler, Introduction to p-adic numbers and their functions, Cambridge University Press, 1973, pp.47-60
投稿日:2021611
更新日:202457
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

子葉
子葉
1105
274899
主に複素解析、代数学、数論を学んでおります。 私の経験上、その証明が簡単に探しても見つからない、英語の文献を漁らないと載ってない、なんて定理の解説を主にやっていきます。 同じ経験をしている人の助けになれば。最近は自分用のノートになっている節があります。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 区間と連続関数
  3. p進数の区間
  4. 連続と一様連続
  5. 級数の収束と関数の一様収束
  6. ニュートン級数展開
  7. マーラーの定理
  8. 証明のあらすじ
  9. 証明
  10. おわりに
  11. 参考文献