完備性とは:無理数、微分方程式の解の近似を例に

どうも、木村(@kimu3_slime)です。

今回は、完備性とは何か、無理数、微分方程式の解の近似を例に紹介します。

 

無理数の有理数近似

完備性とは、数列・点列の収束についてその舞台となる集合が良い性質を持っているかどうか、といった話です。

例として、無理数\(\sqrt{2}\)を近似する小数列(有理数列)を考えてみましょう。

\[a_n :=\frac{[10^n \sqrt{2}]}{10^n}\]

とします。\([x]\)は\(x\)以下の最大の整数を表す、床関数、ガウス記号です。具体的には、\(a_0 =1\)、\(a_1 =\frac{14}{10}=1.4\)、\(a_2 = \frac{141}{100}=1.41\)…といった数列ですね。

 

この数列は、実数\(\mathbb{R}\)の範囲で考えれば、\(\sqrt{2}\)に収束します。

一方で、\(a_n\)はすべて整数の比で表される数なので、有理数\(\mathbb{Q}\)の列と言えます。しかし、\(\sqrt{2}\)は有理数ではないので、有理数列としては収束しない数列と言えます。

収束しない数列といえども、この数列は収束しているとしか思えないような挙動をしています。数列の番号が進めば進むほど、その値は小数点第\(n\)位の部分だけ、ほんのちょっぴりとしか変動しませんね。

これを定式化するのが、コーシー列という考え方です。\((X,d)\)を距離空間として、\(\{a_n\} \subset X\)がコーシー列(Cauchy sequence)であるとは、どんなに小さな\(\varepsilon >0\)に対しても、十分大きな番号\(N \in \mathbb{N}\)を考えると、それ以降の番号\(m,n \geq N\)では、\(d(a_n,a_m)<\varepsilon\)が成り立つことです。コーシー列は、基本列(fundamental sequences)とも呼ばれます。

\(a_n =\frac{[10^n \sqrt{2}]}{10^n}\)が\(\mathbb{Q}\)におけるコーシー列であることを示しましょう。一般に\(n>m\)のとき、

\[\begin{eqnarray} |a_n-a_m| &<& \frac{10^n \sqrt{2}}{10^n} -\frac{10^m \sqrt{2} -1}{10^m} \\ &=&\frac{1}{10^m} \end{eqnarray}\]

が成り立ちます(\(n<m\)でも同様)。そこで、任意に選んだ\(\varepsilon>0\)に対し、\(\frac{1}{10^N}<\varepsilon\)となる\(N \in \mathbb{N}\)を取りましょう(アルキメデスの性質)。\(n,m \geq N\)ならば、\(|a_n-a_m|<\varepsilon \)が成り立ちます。

 

空間\(X\)のコーシー列がすべて収束するとき、\(X\)は完備である(complete)と呼ばれます。

上で見た例から、有理数\(\mathbb{Q}\)は完備ではありません。しかし実数\(\mathbb{R}\)では、いかにも収束していそうな数列(コーシー列)が収束しないことは、起こり得ないのです。

実数の完備性

任意の実数のコーシー列は、収束する。

これは実数の定義(公理)のひとつと同等です。実数の集合のある構成方法では、「実数とは、ひとつの有理コーシー列である」として、有理数から実数を構成します。例えば松坂「代数系入門」を参照。

実数だけでなく、ユークリッド空間\(\mathbb{R}^N\)や複素数\(\mathbb{C}\)も完備です。

 

\(\sqrt{2}\)を数列の定義式に使った例を見ましたが、なんだかありがたみが薄いと感じるかもしれません。

\(b_n=1\)、\(b_{n+1}=\frac{1}{2}(x_n+\frac{2}{x_n})\)によって定まる数列を考えます。これは有理数列であり、\(\sqrt{2}\)に収束することが示せます。

なぜでしょうか。一度コーシー列であることを示せば、実数の完備性より、それが極限\(\alpha\)を持つことがわかります。そこで定義式で極限を取れば、\(\sqrt{2}\)が極限であるとわかるのです。この数列は、ニュートン法による\(\sqrt{2}\)の近似列です。

 

微分方程式の解の近似列

僕が初めて完備性の話を聞いた時、「とはいえ、完備性は実数の当たり前の性質であり、それをわざわざ論じる価値はあるのか?」と疑問に思いました。

完備性の応用例としてひとつ納得した例は、微分方程式の一般的な解の構成方法でした。

 

\[\frac{dy}{dx}(x)= f(x,y(x))\]

\[y(a)=b\]

という常微分方程式の初期値問題を考えましょう。これは両辺を\(x\)について\(a\)から\(x\)まで積分することで、

\[y(x) =b+ \int_a ^x f(t,y(t))dt\]

という形に書き換えられます(これを積分方程式という)。

この形から、微分方程式の解を近似するような関数列\(\{y_n(x)\}\)を構成できます。

\[y_0(x) =b\]

\[y_{n+1}(x) =b+ \int_a ^x f(t,y_n(t))dt\]

この方法は、ピカールの逐次近似法(Picard–Lindelöf theorem)と呼ばれるものです。\(f\)に関する一般的な条件のもと(\(f\)は\(x\)につきリプシッツ連続)で、常微分方程式の解の存在と一意性が示せます。

コンピュータで数値的に常微分方程式を解くオイラー法ルンゲ・クッタ法も、基本的にはこの逐次近似法を利用したものです。

 

この関数列を定める写像は、連続関数のなす空間\(C(I)\)からそれ自身への縮小写像(というもの)であることが示せます。また、有界閉区間上の\(C(I)\)は(上限ノルムについて)完備であることが一般的に知られています。したがって(バナッハの)不動点定理により収束し、その極限がただ一つであることがわかるのです。

詳しくは、梶原「新修解析学」や柳田・栄「常微分方程式論」や「Differential Equations and Boundary Value Problems」を参照。

近似によって解が得られるためのポイントは、\(C(I)\)が完備であることです。「連続関数列の一様収束極限は連続関数」といった、一様収束に関する知識が必要ですね。(別記事で紹介予定)

 

以上、完備性とは何か、無理数、微分方程式の解の近似を例に紹介してきました。

実数の完備性、完備性の一般論だけでは、コーシー列や完備性について、なぜそんなものを考えるか、ありがたみを感じにくいと思っています。

ひとつの応用として便利なのが、完備な関数空間です。一般にはそれらは完備ではありませんが、特殊なケースでは完備です。完備なノルム空間にはバナッハ空間、完備な内積空間にはヒルベルト空間という名前がついており、その性質を調べる分野は関数解析と呼ばれています。

距離空間や完備性は、ユークリッド空間\(\mathbb{R}^N\)を具体例とすると当たり前な性質な気がしますが、関数空間の性質を調べるという立場を知ると、その意義を感じやすいのではないでしょうか。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

集合・位相入門 (松坂和夫 数学入門シリーズ)
松坂 和夫(著)
岩波書店 (2018-11-06T00:00:00.000Z)
5つ星のうち4.5
¥2,640

 

はじめよう位相空間

はじめよう位相空間

posted with AmaQuick at 2021.03.23
大田 春外(著)
日本評論社 (2000-12-01T00:00:01Z)
5つ星のうち4.3
¥2,420

 

Differential Equations and Boundary Value Problems: Computing and Modeling (Edwards/Penney/Calvis Differential Equations)
Edwards, C.(著), Penney, David(著), Calvis, David(著)
Pearson (2014-09-04T00:00:01Z)
5つ星のうち4.4
¥19,751

 

講座 数学の考え方〈7〉常微分方程式論
英二, 柳田(著), 伸一郎, 栄(著)
朝倉書店 (2002-01-01T00:00:01Z)
5つ星のうち4.6
¥4,180

 

代数系入門 (松坂和夫 数学入門シリーズ 3)
松坂 和夫(著)
岩波書店 (2018-11-07T00:00:01Z)
5つ星のうち5.0
¥3,740

 

新装版・新修解析学

新装版・新修解析学

posted with AmaQuick at 2021.03.26
梶原讓二(著)
現代数学社 (2019-03-21T00:00:01Z)
5つ星のうち4.5
¥3,300

こちらもおすすめ

距離空間とは:関数空間、ノルム、内積を例に

lim 1/n=0はなぜ? ε-n_0論法とアルキメデスの性質

ニュートン法によってルート、円周率の近似値を求めてみよう

逐次近似法、不動点定理をわかりやすく解説

オイラー法:常微分方程式をPythonで解く原理を解説

ルンゲ=クッタ法:常微分方程式をPythonで解く原理を解説

なぜルベーグ積分を学ぶのか 偏微分方程式への応用の観点から