フーリエ変換の考え方

フーリエ変換の考え方 #

1. 本稿の立ち位置 #

本稿では、フーリエ変換を次のように説明します。

  • 関数の横軸とは何か?を考えて、フーリエ変換の説明を試みます
  • ある程度イメージを優先してフーリエ変換を説明します
  • 正確な証明はしません

フーリエ変換と離散フーリエ変換の具体的な計算については、下記のpdfに記載していますので、こちらをご参照ください。

離散フーリエ変換-数値計算に向けた解説書

2. 関数の表現 #

2.1. 関数の捉え方 #

これからフーリエ変換を考えて、同じ関数を時間で見たときと周波数で見たときで考えます。 まずは一般的に、関数の横軸とは何か?について説明します。

関数$y=f(x)$がある時、

$f(x)$とは、横軸$x$が与えられた時の値$y$を返す変換器

と考えることができます。ブラックボックスであると言う言い方をすることも多いです。 ですが、ここでは少し別の考えをしてみます。 別の考えとは、関数とは

値$x$と値$y(=f(x))$が単に対応づけられているだけ

と考えます。 言い換えれば、関数$f$の参照テーブルが存在しており、いかなる実数(又は複素数)の値$x$が与えられた場合でも何も考えず参照テーブルから対応する値を返す物が関数だ、と考え直します。

この考えを数式で表現すると、関数を下記のように捉えなおすことができます。

\begin{align}\label{eq1} f(x’)=\int f(x)\delta(x-x’) dx \end{align}

ここで式\eqref{eq1}に現れる変数・式は下記を表すもの・操作として理解できます。

  • $x’$は参照したい点
  • $f(x)$は上記で示した参照テーブルそのもの
  • $\delta(x-x’)$はディラックのデルタ関数で、参照する点$x’$を指定する操作
  • $\int dx$は参照テーブルを参照する操作

つまり、参照テーブルに対しデルタ関数$\delta(x-x’)$を掛けて全空間で積分すると、位置$x’$における関数の値を抜き出す操作になるということです。

この考えを拡張しましょう。

式\eqref{eq1}の右辺の被積分関数はデルタ関数ですが、 デルタ関数ではなくても、$x$と$x’$を含む適当な関数があれば、$x$から$x’$に移れるような気がします。
その後、計算した結果は新たな座標$x’$の参照テーブル$f(x’)$となるでしょう。

今まで$x’$を使用してきましたが、元の座標$x$と混乱しないように、新たな座標の横軸を$z$と書きましょう。上記の拡張を考えると、

\begin{align}\label{eq1a} f(z)=\int f(x)\phi^*(x, z) dx \end{align}

として、新たな座標$z$に対する新たな参照テーブル$f(z)$が得られそう、と予想できます。 ここで$\phi$は複素関数を考えており、$\phi^*$は$\phi$の複素共役を表します。
今、複素共役を取る必要性はありませんが、これからの議論で複素共役を取っておいた方が良いことが分かるのでそのようにします。

先に見た通り、もし$\phi(x,z)$をデルタ関数$\delta(x-z)$とした場合、元の参照テーブルの与えられた値を返すものになります。

2.2. 新たな横軸とそれに対応する基底関数 #

節2.1では、式\eqref{eq1}によると関数$f(x)$の参照テーブルが位置$x$で作成されていた場合、 関数$\phi(x,z)$を掛けて$x$の定義域全体で積分することで、新たな座標$z$における参照テーブル$f(z)$が得られることが分かりました。

もう少し新しい軸$z$とは何か?について考察してみます。 天下り的ですが1、式\eqref{eq1a}の両辺に$\phi(x’,z)$を掛けて、新たな軸$z$について定義された空間で積分してみます。すると

\begin{align}\label{eq2a} \int dz \phi(x’, z) f(z)=\int dx f(x)\left[\int dz \phi(x’, z) \phi^*(x, z) \right] \end{align}

となります。ここで、$\phi(x, z)$を関係式

\begin{align}\label{eq2b} \int dz \phi(x’, z) \phi^*(x, z) = \delta(x-x’) \end{align}

を満たすように選ぶと、

\begin{align}\label{eq2c} f(x) = \int dz f(z) \phi(x, z) \end{align}

と変形できます。つまり元の関数$f(x)$が、新たな座標系の値$z$と$f(z)$を用いて構成されていることが分かります。

分かりやすくするために、式\eqref{eq2c}を離散的にとらえてみましょう。下記のように雑に離散化してみます。

\begin{align} f(x) &\approx \sum_n \Delta z \cdot f(z_n) \phi(x; z_n) \nonumber \\ &=\sum_n f_n \phi_n(x) \label{eq2d} \end{align}

ここで、新たに出てきた変数・関数を下記のように定義しました。

  • $\Delta z$は微小区間、$z_n$は$z$の定義域内でインデックス$n$で指定される離散的な位置を意味します。
  • 離散化に伴い$\phi(x, z_n)$の$z_n$は、$z$の関数というよりも補助的な変数になったので、$\phi(x; z_n)$と書きなおしました。
  • $f_n\equiv \Delta z\cdot f(z_n)$は単なる係数です。
  • $\phi_n(x)\equiv \phi(x; z_n)$と新たに定義しました。

式\eqref{eq2d}は、関数$f(x)$を離散的な関数$\phi_n(x)$の線形結合で書いた物になっています。 つまり元の関数$f(x)$を、既知の関数$\phi_n(x),~~n=1,2,\cdots$の重ね合わせで書いていることになります。

$\phi_n(x)$のそれぞれを基底関数、基底関数の組み合わせを基底関数系と呼びます。

以上の議論から、元の座標$x$と、全く新しい座標$z$を結ぶ関数$\phi(x, z)$は、実は基底関数に対応していたことが分かるでしょう。 言い換えると、

新しい座標$z$で考えるということは、基底関数$\phi(x,z)$の特徴量$z$によって、元の関数$f(x)$を特徴づけること

という意味なのです。

さてここまでの議論で、元の関数の横軸$x$から新たな関数の横軸$z$とその関数値$f(z)$は、式\eqref{eq2b}を満たす関数$\phi(x, z)$によって結び付いていることが分かりました。 先に述べたの関係式\eqref{eq2b}を再掲しますと、

\begin{align} \label{eq2e} \int dz \phi(x’, z) \phi^*(x, z) = \delta(x-x’) \end{align}

であり、実は関数系$\phi(x,z)$が正規直交性を持つための条件となっています。
つまり、ほんの少しでも異なる$z$で特徴づけられる$\phi(x,z)$同士は、他の基底関数の線形結合で書くことはできない独立した関数となっています。

このほんの少しでも$z$が異なると独立しているという特徴は、関数の横軸として適切だということも分かるでしょう。

例えば、位置の関数として書いた時の位置$x$における関数値$f(x)$を知っていたからと言って、ほんの少しだけずれた関数値$f(x+\Delta x)$の値は何かと問われても全く分からない、というのは明らかです。
これと同じ性質を新たな座標として採用する$z$が持っていると期待するのは自然でしょう。それを保証するのが関数系の正規直交性条件であり、その関数系が具体的に両者を結びつけている関係式となるのです。

最後にまとめておきましょう。座標$x$を引数とする関数$f(x)$があった時、新たな座標$z$を引数とする関数$f(z)$は、$x, z$を繋ぐ正規直交条件\eqref{eq2b}を満たす関数$\phi(x,z)$を用いて、下記のように変換することができます。

\begin{align} \label{eq2f} \left\{ \begin{aligned} f(z)&=\int dx f(x)\phi^*(x, z) \\ f(x)&=\int dz f(z)\phi(x, z) \\ \end{aligned} \right. \end{align}

2.3. フーリエ変換の基底関数 #

さて、正規直交性を満たす関数は幾つかあるわけですが、その中で平面波の基底関数を考えましょう2

平面波の基底関数は下記のように定義されます。

\begin{align}\label{eq3a} \phi(x, k)=\frac{1}{\sqrt{2\pi}}e^{ikx} \end{align}

ここで、$z$の代わりに$k$を使用していますが数学的な意味は有りません。この関数が正規直交性を満たしているかを確かめてみるために\eqref{eq2e}の左辺に代入してみます。すると

\begin{align} \label{eq3c} \int dk \phi(x’, k) \phi^*(x, k) &= \int dk \left[\frac{1}{\sqrt{2\pi}}e^{ikx’}\right]\cdot \left[\frac{1}{\sqrt{2\pi}}e^{ikx}\right]^* \nonumber\\ &= \frac{1}{2\pi}\int dk e^{ik(x’-x)} \nonumber \\ &= \delta(x’-x) \end{align}

となるため、\eqref{eq3a}は正規直交性を満たすことが分かります。つまり、新たな関数の横軸として$k$は適切であるということが分かります3

つまり、関数の横軸として$k$を取るということは、$f(x)\to f(k)$へ変換できるということで、また平面波の係数$k$によって関数$f$を見ることができます。

$f(x)$から$f(k)$を取得、またはその逆をまとめて書きましょう。すると

\begin{align} \label{eq3d} \left\{ \begin{aligned} f(k)&=\frac{1}{\sqrt{2\pi}}\int dx f(x)e^{-ikx} \\ f(x)&=\frac{1}{\sqrt{2\pi}}\int dk f(k)e^{ikx} \\ \end{aligned} \right. \end{align}

と書けます。良く知られている通り、これはフーリエ変換・逆変換の関係式となっています。フーリエ変換とは、平面波を基底関数として見た変換であると言えます。

フーリエ変換とは、座標$x$を横軸にして関数$f(x)$と見ていた関係を、$\phi=e^{ikx}$を通して、座標$k$を横軸とした関数$f(k)$で見る関係に変換すること

ここまで見ると、元の関数$f(x)$とした時の横軸$x$は何も特別な軸ではないことが分かるでしょう。
関数$f(x)$よりも更に抽象的な概念として$f$が存在しており、それを適当な軸で見たときに$f(x)$や$f(k)$として顔を出す、と考えたほうがスッキリします。

この抽象的な概念$f$で考える方がより一般的であるとして、量子力学で現れる量子状態として利用されます。
正確にはこの抽象的な概念その物が量子状態に対応するわけではないですが、例えばケット空間$|f\rangle$が非常に似た概念として存在します。

2.4. 元の関数の基底関数 #

折角なので、変換元と変換先が一緒の場合も見ておきましょう。この場合、

\begin{align} \phi(x,x’)=\delta(x-x’) \end{align}

と取るべきです。もちろん正規直交条件も満たします4

\begin{align} \int dz \phi(x’, z) \phi^*(x, z) &= \int dz \left[\delta(x’-z)\right]\cdot \left[\delta(x-z)\right]^* \nonumber\\ &= \delta(x’-x) \end{align}

この時の変換は下記のようになります。

\begin{align} \label{eq4a} \left\{ \begin{aligned} f(x’)&=\int dx f(x)\delta(x-x’) \\ f(x)&=\int dx’ f(x’)\delta(x’-x) \\ \end{aligned} \right. \end{align}

こちらの変換・逆変換は自明ですので特筆する点は有りません。 $x$の関数として表現された関数$f(x)$の、$x’$における値を抽出するためには$\delta(x-x’)$を掛けて積分すればよいということが分かります。

3. 変更履歴 #

2023/09/24:公開

4. 参考文献・補足 #


  1. 数学的な世界における天下り的とは、なぜかわからないけどこうすると都合良く変形できるが、なぜそうしたか理由の説明がうまく出来ない、という時に使います。 ↩︎

  2. 離散的な表現である基底関数は、ラゲール基底、ルジャンドル基底など幾つか思い浮かぶのですが、連続的な関数で正規直交性を満たす関数は$\delta(x)$と$\exp(ikx)$以外にぱっと思いつかないです。恐らく、離散的な関数を連続的にすれば良いと思いますが自信がありません。 ↩︎

  3. 実は正規直交性を満たす関数だけを横軸にしなければならないということはありません。最低限独立であれば良いので、例えば厳密な直交性を満たさないガウス関数でも同様の計算をすることができます。しかしこの場合、厳密に直交していないことで展開後または逆変換時の関数の一意性が失われてしまいます。 ↩︎

  4. デルタ関数は実関数として扱います。 ↩︎