前ページでは工学でよく使われる信号(絶対可積分で区分的に連続で滑らかな信号)に対するフーリエ変換を求めましたが、sin関数の様な絶対可積分でない信号、デルタ関数の様な超関数など、やっかいな信号に対するフーリエ変換を考えないといけない場面もたまにあります。
折角なので工科系学生向けに超関数のフーリエ変換について、ここで簡単にざっくりと取り上げたいと思います。
なお前ページと同様、実用的にはこのページに書いてある内容を気にする必要も無いので、興味がない人はこのページを飛ばしても問題ないです。
それと私は数学者ではないので数学的に変なところがあってもご容赦ください。
今まで特に説明してませんでしたが、フーリエ変換で使っている積分はリーマン積分(みなさんが普段使ってる積分)ではなくて「ルベーグ積分」と呼ばれる積分です。
工学で良く使われる普通の関数に対してはリーマン積分を使ってもルベーグ積分を使ってもフーリエ変換の結果は同じなので、普段はどちらの積分を使ってるのか気にする必要はあまり無いですが、今回のように超関数のフーリエ変換の収束の話をする場合はどうしてもルベーグ積分の話を持ち出す必要が出てきます。
※ ちなみに確率論で使ってる積分も基本的にはルベーグ積分です。
では早速ルベーグ積分について簡単に説明します。
まず $t$ を実数とし、その関数 $f(t)$ が「可測関数」であるとします。
※ 実際には $t$ は実数、あるいは $n$ 次元ユークリッド空間上の点でなくても、大きさを測れる集合(可測集合と言います)なら何でも良いです。ただ可測集合とか可測関数とかについて説明するとかなり長くなるので今回は $t$ は実数と限定します。
いきなり謎の専門用語が出てきましたが、とりあえず
$f(t)$ は可測関数である = $f(t)$はルベーグ積分をする資格がある関数である
という意味だととって下さって結構です。
なおリーマン積分と同じで $f(t)$ をルベーグ積分したら結果が無限大に発散することがありますので、資格があるからといってもルベーグ積分可能かどうかは別の話であることに注意して下さい。
さて $f(t)$ が可測関数であるとき、そのルベーグ積分を次の様に記述します。
\[ \int_{E}\ f(t) \cdot \textrm{d}\mu(t) \]
ここで $E$ は積分領域で、$\textrm{d}\mu(t)$ から $\textrm{d}$ を取り除いた $\mu(t)$ のことを「ルベーグ測度」と呼びます。
また謎の専門用語が出てきましたが、
ルベーグ測度 = ある区間の長さを測るためのものさしみたいな関数
という意味だととって下さって結構です。
※ ものさしにもセンチメートルやインチを測るものさしがあるように、ルベーグ測度以外にも長さを測る関数(測度関数と言います)は色々あります。例えば確率論で出てくる確率密度関数も測度関数のひとつです。ただ説明が長くなるので今回はルベーグ測度に限定します。
もっとも記法だけ見せられても
という疑問が出てきたと思うので、ルベーグ積分のメリットを計算例とともに示したいと思います。
$f(t)$のリーマン積分の求め方は「積分領域を垂直方向に分割し、分割した面積を足し合わせる」でした。
一方、$f(t)$のルベーグ積分の求め方は「積分領域を"水平方向に"分割し、分割した面積を足し合わせる」です。
よって、本来なら真面目に検討する必要がありますが、ざっくり言ってしまうと分割する方向が違うだけなので、
もし$f(t)$がリーマン積分可能なら「リーマン積分の計算結果 = ルベーグ積分の計算結果」
が言えます。
ところで工学で良く使われる普通の関数は可測関数で、しかもリーマン積分可能なのでルベーグ積分と同一視することができます。
特に積分領域 $E$ が実数直線上の閉区間 $[a,b]$ 、または開区間 $(a,b)$ の場合、ルベーグ積分は
と完全にリーマン積分と同じ形式に変わります。
つまり通常の用途なら、詐欺みたいな話ですが
「これからルベーグ積分を行う」と宣言してから、しれっとリーマン積分をする
と、それがルベーグ積分になります。
この様に「説明が面倒くさい割に結局使うのはリーマン積分」という背景があるので、ルベーグ積分について全く触れない工科系科目が多いわけですね。
では一応具体例をあげましょう。
$f(t)$ を
とし、積分領域を閉区間 $[-1,1]$ とします。
このとき$f(t)$ のルベーグ積分を計算すると
になります。
メリットの2番目はリーマン積分出来ない関数に対してもルベーグ積分が出来る(こともある)です。
これについて説明するには「ほとんどいたるところで」という概念についてまず話す必要があります。
ある2つの可測関数 $f(t)$ と $g(t)$ が可算個の不連続点(正確には測度 0 の集合)を除けば $f(t) = g(t)$ となっている状況を
ほとんどいたるところで $f(t) = g(t)$
と言います。
※ almost everywhere の頭文字を取って「$f(t) = g(t)$ a.e.」と言う時もあります。
ところで、説明は省きますがルベーグ積分をする時には可算個の不連続点は無視できるという特徴があるので(注意:リーマン積分は無視できない!)、もし「ほとんどいたるところで $f(t) = g(t)$」でかつルベーグ積分可能なら、$f(t)$と$g(t)$のルベーグ積分は同じ値になります。
この意味で「ほとんどいたるところで $f(t) = g(t)$」であることを「$f(t)$ と $g(t)$ は同値である」と言うこともあります。
そして $f(t)$ と同値である関数を全て一つにまとめた集合の事を「同値類 $[f]$」と言います。
なお特に誤解の無い状況では同値類 $[f]$ を $f(t)$ で表すこともあります。
さて、ある $f(t)$ があって、この関数に対してはリーマン積分が出来ないとします。
一方「ほとんどいたるところで $f(t) = g(t)$」となる $g(t)$ があって、この $g(t)$ に対してはリーマン積分が出来るとします。
よって、また詐欺みたいな話になりますが、ルベーグ積分を前提にすると $f(t)$ と $g(t)$ は同値ですので、$f(t)$ のルベーグ積分は $g(t)$ のルベーグ積分(=リーマン積分)で求められます。
以下準備中
準備が済んだので超関数のフーリエ変換を定義しましょう。
まず $f(t)$ を緩増加超関数空間 $S'$ に属する超関数とします。
この時、$f(t)$ のフーリエ変換 $\textrm{F}(w)$ は次の式で定義されます。
ここで $\textrm{G}(t)$ はテスト関数 $g(t)$ のフーリエ変換 $\textrm{G}(w)$ の $w$ を $t$ に置き換えた関数です。
同様に逆変換は、$\textrm{F}(w)$ の逆フーリエ変換を $\textrm{F}^{-1}(t)$ とすると
ここで $\textrm{G}^{-1}(w)$ は $\textrm{G}(w)$ の逆フーリエ変換 $\textrm{G}^{-1}(t)$ の $t$ を $w$ に置き換えた関数です。
この定義式だけ見ても何を言ってるのか分からないと思うのでいくつか例を示しましょう。
$f(t)$が可積分関数の場合は
\begin{align*} \lt\textrm{F}(w)\ ,\ g(w)\gt &= \lt f(t)\ ,\ \textrm{G}(t)\gt \\[10pt] &= \int_{-\infty}^{\infty} f(t) \cdot \left \{ \int_{-\infty}^{\infty} g(w) \cdot \textrm{e}^{-j\cdot w \cdot t} \textrm{d}w \right \} \textrm{d}t \\[10pt] &= \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(t) \cdot \textrm{e}^{-j\cdot w \cdot t} \cdot g(w) \ \textrm{d}w \ \textrm{d}t \\[10pt] (\text{フビニの定理より}) &= \int_{-\infty}^{\infty} \left \{ \int_{-\infty}^{\infty} f(t) \cdot \textrm{e}^{-j\cdot w \cdot t} \ \textrm{d}t \right \} \cdot g(w) \ \textrm{d}w \\[10pt] \end{align*}よって
\[ \textrm{F}(w) = \int_{-\infty}^{\infty} f(t) \cdot \textrm{e}^{-j\cdot w \cdot t} \ \textrm{d}t \]
となるので、結局従来通りにルベーグ積分を使ってフーリエ変換を求めることに相当します。
同様に、逆フーリエ変換も従来通りにして逆フーリエ変換を求めます。
次は代表的な超関数であるデルタ関数 $\delta(t)$ のフーリエ変換を考えてみます。
定義に従えば
なので
\[ \textrm{F}(w) = 1 \]となります。
$f(t)$が可積分関数でなくても超関数として考えればフーリエ変換を定義できます。
例えば複素正弦波 $f(t) = \textrm{e}^{j\cdot w' \cdot t} $は周期的な関数で当然可積分ではないので、本来ならばトリッキーな方法を使わないと従来の方法ではフーリエ変換を求められないのですが(トリッキーな方法については次のページ参照)、超関数としてみれば
ここで[ ]の中は $g(w)$ のフーリエ変換を逆変換してから $w = w'$ を代入した形になってるので
\begin{align*} \text{続き} &= 2\pi \cdot \left . g(w) \right |_{w = w'} \\[10pt] &= 2\pi \cdot g(w') \\[10pt] &= \lt 2\pi \cdot \delta(w-w') \ ,\ g(w) \gt \\[10pt] \end{align*}よって
\[ \textrm{F}(w) = 2\pi \cdot \delta(w-w') \]となります。
なんか狐につままれた様な気がしますが、この様に超関数のフーリエ変換はテスト関数のフーリエ変換の問題に責任転嫁したあと、その式をいろいろ変形することによって求めることが可能になっています。
ところで急減少函数空間 $S$ 上の関数 $g(t)$ のフーリエ変換は $S \rightarrow S$ で全単射だったので、$g(t)$ をテスト関数として作った緩増加超関数空間 $S'$ 上の超関数 $f(t)$ のフーリエ変換も $S' \rightarrow S'$ で全単射になります。
つまり、$f(t)$ が普通の関数の場合は通常の意味でのフーリエ変換/逆変換は存在しない時がありますが、普通の関数でなくて $S'$ 上の超関数とみなして $f(t)$ をフーリエ変換/逆変換すれば、デルタ関数みたいな特殊な関数になるかもしれませんが、その結果は $S'$ 上に必ず存在してかつ単射になるということです。
さて、ここまで来てようやく最初の問題だった「$\textrm{T} \rightarrow \infty$ の場合 $f(t)$ と $f_{pd}(t)$ のフーリエ変換が一致するので $f(t)$ は $f_{pd}(t)$ に一致」の話が出来るようになりました。
結論は
$\textrm{T} \rightarrow \infty$ の場合にほとんどいたるところで $f(t) = f_{pd}(t)$なら、それらを $S'$ 上の超関数とみなしてフーリエ変換するとフーリエ変換は $S'$ 上に必ず存在してほとんどいたるところで一致する。
逆にそれらのフーリエ変換がほとんどいたるところで一致しているなら、それらを $S'$ 上の超関数とみなして逆フーリエ変換すると逆フーリエ変換は $S'$ 上に必ず存在してほとんどいたるところで $f(t)$ および $f_{pd}(t)$ に一致する
長いので簡潔に言うと
$\textrm{T} \rightarrow \infty$ の場合 (超関数とみなせば) $f(t)$ と $f_{pd}(t)$ のフーリエ変換が(ほとんどいたるところで)一致するので $f(t)$ は $f_{pd}(t)$ に(ほとんどいたるところで)一致
です。
※ もう一度書きますが、私は数学者ではないので数学的に変なところがあってもご容赦ください。