常微分方程式の解の一意性が成り立たない例についてざっくりと。

解が無数にある常微分方程式

単純な常微分方程式についても, 解の一意性は必ずしも成り立たないことを本記事では紹介します:

次の常微分方程式の初期値問題を考えましょう

\begin{align*}
\begin{cases}
\dfrac{dx}{dt}(t) =
-2\sqrt{|x(t)|},\\
x(0) = 1.
\end{cases}
\end{align*}

まずは, これを変数分離法を用いて解いてみましょう. \(x \ge 0\) のときは \(|x(t)| = x(t)\) としてよいから,

\begin{align*}
-\dfrac{x^{-1/2}}{2}\dfrac{dx}{dt} = 1
\end{align*}

により, 両辺を \(t\) について区間 \([0, t]\) まで定積分を行えば,

$$
-\sqrt{x(t)} + \sqrt{x(0)} = t
$$

がわかり, 初期条件 \(x(0)=1\) を思い出すと,

$$
x(t) = (1-t)^2
$$

を得ます.

しかしながら, この関数は \(0 \le t<1\) のときに方程式を満たす一方で, \( t>1\) のときには常微分方程式の解ではありません.

実際に計算をすれば, \(\dfrac{dx}{dt}(t) = -2(1-t)\) である一方, \(-2\sqrt{|x(t)|}= -2(t-1)\) であり方程式を満たさないことがわかります.

\( x \ge 0\) という仮定が強すぎたのでしょうか?

とにかく, 変数分離法による解き方がうまく適応できないことがわかりました.

実は, この常微分方程式は解の一意性が成り立たない方程式です.

例えば次のような関数 \(x_1 = x_1(t)\), \(x_2=x_2(t)\) はともにそれぞれ常微分方程式の解です.

$$
x_1(t) =
\begin{cases}
(1-t)^2, \quad & 0\le t \le 1 \text{ のとき},\\
0, \quad & t\ge 1 \text{ のとき},
\end{cases}
$$
$$
x_2(t) =
\begin{cases}
(1-t)^2, \quad & 0\le t \le 1 \text{ のとき},\\
-(t-1)^2, \quad & t\ge 1 \text{ のとき}.
\end{cases}
$$

(他にも無数の解が作れます. 余裕のある方はさがしてみましょう!)

どちらの関数も1階連続微分可能な関数として方程式を満たしているため, どちらが間違いということは言えません.

このような”簡単な”常微分方程式でさえ, 一意性がないことは不思議なことですね.

こういうことを聞くと一気に不安になってきますね

我々が大学や高専などの講義で習う解法では, そのような一意性のない方程式の解のうちの1つを取り出しているに過ぎず,

本当はもっとあるあずの色々な解を見落としてしまっているのではないか.

あるいは, そのような無数にある解のうち特徴的な1つのみを無意識のうちに選択してしまっているのではないか.

そんなことが不安になってきます.

実は, ある程度一般的な形で解の一意性を保証することができます.

そのうちの1つの考え方が, リプシッツ連続という制限を加えてしまうものです.

まずは関数 \(f=f(x)\) を使って, 常微分方程式を一般的な形に書き直しましょう.

\begin{align}\label{*}\tag{1}
\begin{cases}
\dfrac{dx}{dt}(t) =
f(x(t)),\\
x(0) = x_0.
\end{cases}
\end{align}

ここで, \(f(x) = -2\sqrt{|x|}\), \(x_0=1\) とすれば表題の常微分方程式となります.

まずは関数のリプシッツ連続を定義しましょう.

実数値関数 \(f\) がリプシッツ連続であるとは, ある定数 \(K>0\) が存在して,
$$
|f(x)-f(y)| \le K|x-y|
$$
が任意の実数 \(x\), \(y\) に対して成立することである.

次の形で一意性が成立します.

\(f\) がリプシッツ連続であるとき, 常微分方程式 \eqref{*} の解は一意に存在する.

解の存在性の証明はコーシーの折れ線近似法によるものやピカールの逐次近似法によるものが知られていますが, 証明は割愛します

定評のある常微分方程式の教科書には証明がついているので, それを読むとよいでしょう.

それでは一意性を証明しましょう. \(x=x(t)\), \(y=y(t)\) をともに \eqref{*} の解であるとします.

さらに, \(\tau>0\)として, 方程式 \eqref{*} を変数 \(t\) について両辺 \([0,\tau]\) の区間で定積分をしましょう.

すると, \(x\), \(y\) はそれぞれ,

\begin{align*}
x(\tau)=x_0 +\int_0^\tau f(x(s))\,ds,\\
y(\tau)=x_0 +\int_0^\tau f(y(s))\,ds
\end{align*}

を満たします. このとき, \(f\) がリプシッツ連続なので,

\begin{align*}
|x(\tau)- y(\tau)|
&= \left| \int_0^\tau (f(x(s))- f(y(s)))\,ds\right|\\
&\le \int_0^\tau \left|f(x(s))- f(y(s))\right| \,ds\\
&\le K \int_0^\tau \left|x(s)- y(s)\right| \,ds
\end{align*}

を得ます.

\(F(\tau) = \int_0^\tau \left|x(s)- y(s)\right| \,ds\) とおくと, 微分積分の基本定理を用いれば, さきほどの計算を繰り返すことで,

\begin{align*}
F'(\tau)
&= |x(\tau)- y(\tau)| \\
&\le K \int_0^\tau \left|x(s)- y(s)\right| \,ds\\
&= K F(\tau)
\end{align*}

を得ます. 両辺 \(e^{-K\tau}\) を掛けて, 左辺にまとめると,

$$
\dfrac{d}{d\tau}\left( e^{-K\tau} F(\tau)\right) \le 0
$$

となります. ここで, 任意の \(t>0\) を取ります. 両辺を変数 \(\tau\) について \([0,t]\) で定積分すれば,

$$
e^{-Kt}F(t) -F(0) \le 0
$$

を得ます.

\(F\) の定義を思い出せば, \(F(0)=0\) かつ \(F(t)\ge 0\) により \(F(t)=0\) がいえます.

つまり \(x(t)=y(t)\) が任意の \(t >0\) に対して証明されたので, 方程式の解は一意です. (証明終)

最後の関数 \(F\) を導入する以降はやや技巧的に感じられますが, 一意性を示す際にはしばしば用いられる論法であり, グロンウォールの補題として一言でまとめられることが多いです.

まとめ

常微分方程式の解の一意性を保証する十分条件に, リプシッツ連続というものがあります.

最初の一意性が成り立たない例では, \(f\) は連続ですが原点でリプシッツ連続ではありません.

それゆえ, 前述の一般論からは一意性が導けず, 実際に無数の解が現れる例になっています.

The following two tabs change content below.

わかばめ

サイエンスが好き。 数理の力を役立たせる場面がないかと色々と画策中。最近は計算機アルゴリズムの実装に興味があります。

コメント

  1. 木村勝哉 より:

    「常微分方程式の解となる関数はいくつあるか」という方向から探しているのに、「リプシッツ連続」という概念は「関数」の性質なんですね。
    実運用的には、この例のように「この常微分方程式を満たす関数ならばリプシッツ連続である」と示す――つまり「解の全てがリプシッツ連続なので、解は一つ」という論法で使うのが基本的な用途になるんでしょうか?

    それから、
    |f(x)−f(y)|≤K|x−y|
    という数式だけ見ると、
    |f(x)−f(y)|/|x−y|≤K
    と変形して、「傾きの絶対値が有限実数で上から押さえられればいい」と読み替えたくなるんですが、そういう直感的な読み方はアリですか?(それだと題意からズレてしまうような「反例」ってありますか?)

    • わかばめ より:

      前段は、少し誤解があるようなので補足をします。リプシッツ連続性は、解に対してではなく、微分方程式に対する仮定です。なので、微分方程式がリプシッツ連続な関数でかければ(つまり、問題を制限すれば)、解が一意である、ということを述べています。
      なので、「常微分方程式の解となる関数はいくつあるか」という問いには「常微分方程式がリプシッツ連続な関数で書けるなら、一意だよ」「そうじゃない場合は、無数にあることもあるよ」というのが本記事のあらましです。

      後段の質問は非常に良い着眼点で、ほとんど正しいです。変形は(x=yのときを除いて)それで正しいですし、直観的にはそれで良いです。しかしながら、「傾き」と言ってしまうとグラフの接線が引ける(=微分可能)なクラスしか考えられなくなりそうですが、リプシッツ連続性自体は微分可能でなくても定義できます。
      例えばf(x)=|x| は x=0 で微分可能ではない(傾きが定まらない)が、リプシッツ連続な関数です。
      さらに、fが多変数関数の場合なんかは「傾き」をどう理解しようかちょっと考えなくちゃいけないので、今の定義で覚えてしまったほうが幾分楽なのかな、と思います。

      • 木村勝哉 より:

        なるほど、確かに絶対値関数や繋ぎ目のある関数はそうですね。
        「常に傾きが定義できる」より「リプシッツ連続」の方が広いんですね。