デルタ関数」タグアーカイブ

デルタ関数の初等関数表示

デルタ関数は一見初等関数とはかけ離れたものに見える。デルタ関数は関数ではなく超関数というクラスに属すので、確かに普通の関数とは性質も何もかもかけ離れている。しかし極限操作を使うことで初等関数を用いてデルタ関数を表現することが出来る。

注目すべきはデルタ関数はある一点(例えば$~\delta(x)~$なら$~x=0~$)でのみ値を持ち、かつその関数が作るグラフの面積はジャスト1になることである。そこで次のような関数を考えてみよう。
\begin{equation}
y=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{x^2}{2\sigma^2}\right\}
\end{equation}
(この関数は統計学でいう平均0、標準偏差$~\sigma~$の正規分布である)。この関数の特徴は$~\sigma~$の値にかかわらず常に面積が1で、かつ$~\sigma~$が0に行けば行くほど原点付近に鋭いピークを持つようになる。従って$~σ→0~$の極限で正規分布はデルタ関数に近づく。つまり
\begin{equation}
\delta(x)=\lim_{\sigma\to0}\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{x^2}{2\sigma^2}\right\} \end{equation}
となり、初等関数の極限でデルタ関数を表現することが出来る。実際に$~\sigma~$を減らしつつグラフを書いたのが以下になるが、$~\sigma~$が小さくなりに連れ(色で言うと赤に行くに連れ)、原点付近に鋭いピークが立って行く様子が見て取れる。

しかし関数のグラフの様子が同じだからといってデルタ関数と同じと断定してはいけない。何故ならデルタ関数の定義はあくまで
\begin{eqnarray}
\int_{-\infty}^\infty f(x)\delta(x)dx=f(0)
\end{eqnarray}
なので、
\begin{eqnarray}
\int_{-\infty}^\infty f(x)\left[
\lim_{\sigma\to0}\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{x^2}{2\sigma^2}\right\}
\right]dx=f(0)
\end{eqnarray}
を満たして初めて同じと言える。厳密性は無いがこれをある程度厳密”的”に証明してみよう。クドく言うが、示すのはあくまで証明の心だ。

\begin{eqnarray}
&&\int_{-\infty}^\infty f(x)\left[\lim_{\sigma\to0}\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{x^2}{2\sigma^2}\right\}\right]dx\\
&=&
\lim\limits_{\sigma\to 0}\frac{1}{\sqrt{2\pi\sigma^2}}
\int_{-\infty}^\infty f(x)\exp\left[-\frac{x^2}{2\sigma^2}\right]dx\\
(f(x)を原点周りでテーラー展開)
&=&\lim\limits_{\sigma\to 0}\frac{1}{\sqrt{2\pi\sigma^2}}
\int_{-\infty}^\infty \left[\sum_{n=0}^\infty \frac{f^{(n)}(0)}{n!}x^n\right]\exp\left[-\frac{x^2}{2\sigma^2}\right]dx\\
&=&\lim\limits_{\sigma\to 0}\frac{1}{\sqrt{2\pi\sigma^2}}\sum_{n=0}^\infty \frac{f^{(n)}(0)}{n!}
\int_{-\infty}^\infty x^n\exp\left[-\frac{x^2}{2\sigma^2}\right]dx\\
(t=x/\sigma と置換)&=&\lim\limits_{\sigma\to 0}\frac{1}{\sqrt{2\pi\sigma^2}}\sum_{n=0}^\infty \frac{f^{(n)}(0)}{n!}\sigma^{n+1}
\int_{-\infty}^\infty t^n\exp\left[-\frac{t^2}{2}\right]dt\\
(\sigma\to0 で残るのはn=0のみ)&=&f(0)\times\frac{1}{\sqrt{2\pi}}
\int_{-\infty}^\infty \exp\left[-\frac{t^2}{2}\right]dt\\
&=&f(0)
\end{eqnarray}

以上で証明が出来た!このように極限操作を含めれば、デルタ関数を初等関数で扱うことが出来ると分かった。この他にも、デルタ関数と同じふるまいをする関数として
\begin{eqnarray}
\delta(x)=\lim\limits_{a\to\infty}\frac{\sin(ax)}{\pi x}\label{243}
\end{eqnarray}
もある。以下で一応示すが、複素積分の公式を使うので気持ちよくない。読者自ら調べて是非証明してみて欲しい。
\begin{eqnarray}
\int_{-\infty}^\infty f(x)\left[\lim\limits_{a\to\infty}\frac{\sin(ax)}{\pi x}\right]dx
&=&
\lim\limits_{a\to\infty}\frac{1}{\pi}\int_{-\infty}^\infty f(x)\frac{\sin(ax)}{x}dx\\
&=&
\lim\limits_{a\to\infty}
\frac{1}{2\pi}Im\left[\oint f(z)\frac{e^{iaz}}{z}dz\right]\\
&=&
Im\left[
i\lim\limits_{a\to\infty}\frac{1}{2\pi i}
\oint f(z)\frac{e^{iaz}}{z}dz\right]\\
&=&Im\left[if(0)\right]\\
&=&f(0)
\end{eqnarray}

デルタ関数の別定義:その2

デルタ関数が$~x=0~$でのみ0でない値を持つことが分かったので、次のように定義することも出来る。

デルタ関数とは
\begin{eqnarray}
\delta(x)=
\begin{cases}
\infty& (x=0)\\
0& (x\neq 0)
\end{cases}
\end{eqnarray}
を満たし、かつ
\begin{eqnarray}
\int_{-\infty}^\infty \delta(x)dx=1
\end{eqnarray}
を満たす関数とする。

ここで積分領域は先程と同じ理由で$~x=0~$を含んでいる様な区間であれば何でも良い(例えば$~[-\epsilon,\epsilon]~$とか)。この定義はちゃんと前述までのデルタ関数の定義と整合しており同値な定義になっている。因みに、ここでの定義を用いた場合に、
\begin{eqnarray}
\int_{-\infty}^\infty f(x)\delta(x)dx=f(0)
\end{eqnarray}
が導けるのかだけは非自明だろう。それはちゃんと確かめておこう。証明すべき事はページ上の最初の2つの定義を用いて$~「~\int _{-\infty}^\infty f(x)\delta(x)dx=f(0)~」~$を導くことである。実際にやってみよう。まずデルタ関数が$~x=0~$でしか値を持たないので、適当な$~\epsilon~$を用いて
\begin{eqnarray}
\int _{-\infty}^\infty f(x)\delta(x)dx=
\int_{-\epsilon}^\epsilon f(x)\delta(x)dx
\end{eqnarray}
と書き直すことが出来る。ここで$~\epsilon~$は任意なので、十分小さいとしよう。すると$~f(x)~$は$~x=0~$周りでテーラー展開出来るはずで
\begin{eqnarray}
f(x)=f(0)+f^{\prime}(0)x+\cdots=f(0)+(xの一次以上)
\end{eqnarray}
と展開出来る。これを上式に代入すると
\begin{eqnarray}
\int_{-\epsilon}^\epsilon f(x)\delta(x)dx
&=&
\int_{-\epsilon}^\epsilon \left[ f(0)+(xの一次以上) \right]\delta(x)dx\\
&=& \int_{-\epsilon}^\epsilon \left[
f(0)
\right]\delta(x)dx
+
\int_{-\epsilon}^\epsilon \left[ (xの一次以上) \right]\delta(x)dx \end{eqnarray}
さて第一項は$~f(0)~$が定数なので積分の外に出せて
\begin{eqnarray}
\int_{-\epsilon}^\epsilon \left[
f(0)
\right]\delta(x)dx
&=&
f(0)\int_{-\epsilon}^\epsilon \delta(x)dx\\
&=&f(0)
\end{eqnarray}
となる。一方で第二項が全て0になる事を示せれば、示したかった$~「~\int_{-\infty}^\infty f(x)\delta(x)dx=f(0)~」~$が示されたことになる。これは次の例から直感的に理解する事ができる。ここでは$~x~$の2次の項を評価してみる。
\begin{eqnarray}
\int_{-\epsilon}^\epsilon x^2\delta(x)dx
\end{eqnarray}
ここで積分の基本公式
\begin{eqnarray}
\left|\int_a^b f(x)dx\right|\leq \int_a^b |f(x)|dx\leq
(区間[a,b]上でのf(x)の最大値)\times(b-a)
\end{eqnarray}
と、区間$~[-\epsilon,\epsilon]~$で$~x^2~$の最大値が$~\epsilon^2~$である事を併用すると
\begin{eqnarray}
\left|\int_{-\epsilon}^\epsilon x^2\delta(x)dx\right|
&\leq&
\int_{-\epsilon}^\epsilon |x^2|\delta(x)dx\\
&\leq&
\epsilon^2\int_{-\epsilon}^\epsilon \delta(x)dx\\
&\leq&\epsilon^2
\end{eqnarray}
最後に$~\epsilon~$が微小であれば任意であった事を思い出そう。(もし読者が初等数学の$~\epsilon-\delta~$論法を知っていれば理解は簡単だと思うが)$~\epsilon~$は任意の微小量、つまり好きなだけ小さく出来る数なので、上記の不等式の最右辺はいくらでも0に飛ばすことが出来る。従って
\begin{eqnarray}
\left|\int _{-\epsilon}^\epsilon x^2\delta(x)dx\right|=0
\end{eqnarray}
でなくてはならないことが分かる。この例では$~x^2~$で示したが、別に$~x^n(n\geq1)~$でも同様に示せる。

デルタ関数の別定義:その1

本によってデルタ関数の定義は若干異なっている時がある。もちろん意味は同じなのだが、他の定義を知ることでデルタ関数の理解が深まるだろうから、それについて以下で見ていこう。

まず本書でのデルタ関数の定義式
\begin{equation}
\int_{-\infty}^{\infty}~f(x)\delta(x)dx=f(0)
\end{equation}
に注目しよう。任意関数$~f(x)~$に対し積分の結果として$~x=0~$しか効いてこないので、正の実数$~a~$を用いて積分範囲を
\begin{equation}
\int_{- \infty}^{-a}~f(x)\delta(x)dx
+
\int_{-a}^{a}~f(x)\delta(x)dx
+
\int_{a}^{\infty}~f(x)\delta(x)dx
=f(0)
\end{equation}
のように分離するとデルタ関数の性質から第一項、第三項は0となり、結果としてデルタ関数の定義式を
\begin{eqnarray}
\int_{-a}^{a}~f(x)\delta(x)dx
=f(0)
\end{eqnarray}
としても良いと言える。また同様に考えると、$~a<0<b~$を満たす実数$~a,b~$を用いて
\begin{eqnarray}
\int_{a}^{b}~f(x)\delta(x)dx
=f(0)
\end{eqnarray}
としても良いと分かるだろう。

デルタ関数の定義

デルタ関数の定義の仕方は幾つかあるが、ここでは次のように定義する。

デルタ関数$~\delta(x)~$とは、任意の関数$~f(x)~$に対し、
\begin{equation}
\int_{-\infty}^{\infty}~f(x)\delta(x)dx=f(0)
\end{equation}
を満たす関数として定義する。

工学系ではサンプリング関数などとも呼ばれ、定義式からも分かるように$~f(x)~$の$~x=0~$の値だけ抽出しており、まさにサンプリングと呼ぶにふさわしい作用をしている。またインパルス関数とも呼ばれ、撃力などの一瞬の間だけ働く力を記述するのに用いたりもする。

さて、話しを戻そう。まず定義式からも明らかだが$~f(x)~$の$~x=0~$の値のみが結果に関係しており、その他の$~f(x)~$の値には影響されない。積分の定義・リーマン和を思い出せば、これはデルタ関数が$~x=0~$以外の点では値を持たず$~x=0~$の点で無限大の値を持つことを意味している(もし$~x=a\neq0~$で値を持っていたら、積分値は$~f(a)~$の値にも依るはず)。また$~f(x)=1(\forall x\in\mathbb{R})~$という関数を代入してやれば$~\int_{-\infty}^{\infty}\delta(x)dx=1~$となり、積分の幾何学的な解釈に基づけばデルタ関数が作る面積は1ということになる。一つ前の考察と合わせればデルタ関数は$~x=0~$で無限大となるにも関わらずその面積は1という奇妙な性質を持っている特異な関数なのである。このδ関数は当に先程話した点電荷を表現する為に必要な関数の性質を満たしている。

デルタ関数の心

まだデルタ関数の定義を書いてないが、まず何故デルタ関数というものが必要なのかを説明する。(特に読まなくてもよい。)

電磁気学や力学で点電荷、点粒子を考えていたと思う。これを数式で表そうと思った時、疑問が発生する。点電荷は電荷を持っているにも関わらず点として扱っているということは電荷密度が一点で無限大ということを意味している。果たして数式でこのような状況を表現することは可能なのであろうか。

これをもう少し正確に述べよう。今は座標原点に電荷Qを持つ点電荷がありそれが箱に入っていて、あなたはその箱を外から見ているとする。するとこの箱は中に電荷Qがあるので、箱の総電荷は当然Qになる。ではこの箱の中身の電荷密度(電荷分布)はどうなっているだろうか。箱の中の電荷密度を$\rho(\textbf{x})$で表そう。すると箱の総電荷がQなので
\begin{eqnarray}
\int_{箱}\rho(\textbf{x})dV=Q
\end{eqnarray}
(積分範囲は箱の中全体とし、$dV$は微小体積とした)が成り立つ。しかし電荷密度単品に注目すると、原点に点電荷があるだけでその他の点には電荷は存在していないことになる。従って
\begin{eqnarray}
\rho(\textbf{x})=
\begin{cases}
ある値& (\textbf{x}=0) \\
0& (原点を除いた箱の中)
\end{cases}
\end{eqnarray}
のような電荷分布になっている。問題はこの「ある値」と書いた値の大きさであるが、$\int_{箱}\rho(\textbf{x})dV=Q$(=有限値)という揺るがない事実があるので、積分の考えに基づくと一点だけで値を持つ関数を積分して有限な積分値Qを持たせるためには$\rho$はその一点で無限大の値を持ってないと不可能である。つまり点電荷を扱うならば、
\begin{eqnarray}
\rho(\textbf{x})=
\begin{cases}
\infty& (\textbf{x}=0)\\
0& (原点を除いた箱の中)
\end{cases}
\end{eqnarray}
でないとマズイということが分かった。

この関数が奇妙な関数だと感じられただろうか。一点で無限大の値を持ち、その他の点では0な関数。なのに積分するとある有限な値を返す不思議な関数なのだ。逆に言えば点電荷を表現するにはこのような関数が自然と必要なのである。