直交関数系

関数もまたベクトルの一種なのである。

[前の記事へ]  [物理数学の目次へ]  [次の記事へ]


事実の確認

 フーリエ解析の初回で話したことだが、\( \{ \cos x, \, \cos 2x, \, \cos 3x, \, \cdots, \, \sin x, \, \sin 2x, \, \sin 3x, \, \cdots \} \)という関数の集まりの中からどれでも二つを選んで掛け合わせたものを一定の範囲(この場合は\( 0 \sim 2\pi \))で積分してやると、ほとんどの場合は 0 になり、ただ同じ関数どうしで計算した時だけ 0 以外の値になるのだった。

 実フーリエ級数の公式が成り立っていそうだということを説明するためにこの性質を利用したことがある。すると形はほとんど同じなのだから、複素フーリエ級数でも似たような話が見い出せるのではないだろうか。複素フーリエ級数がどんなものだったかもう一度見てみよう。

\[ \begin{align*} f(x) \ =\ \sum_{n=-\infty}^{\infty} c_n \, e^{i \frac{2\pi}{L} n x} \tag{1} \end{align*} \]
 この係数\( c_n \)は次のようだった。
\[ \begin{align*} c_n \ =\ \frac{1}{L} \int^L_0 f(x) \, e^{-i \frac{2\pi}{L} n x} \diff x \tag{2} \end{align*} \]
 もし関数\( f(x) \)が (1) 式のように展開できるのなら、それをまるごと (2) 式の\( f(x) \)に代入してやっても辻褄が合うはずだ、という考え方をしてみる。この考え方をする時には (1) 式の\( n \)と (2) 式の\( n \)は違う意味になっているので、(1) 式の方の\( n \)\( m \)とでも書き換えた上で代入してみよう。
\[ \begin{align*} c_n \ =\ \frac{1}{L} \int^L_0 \left( \sum_{m=-\infty}^{\infty} c_m \, e^{i \frac{2\pi}{L} m x}\right) \, e^{-i \frac{2\pi}{L} n x} \diff x \end{align*} \]
 このカッコを展開することを考えると、\( m = n \)となる項だけが残って、それ以外の項が消えてくれれば問題無さそうだ。つまり次のような関係が期待される。
\[ \begin{align*} \int^L_0 e^{i \frac{2\pi}{L} m x} \, e^{-i \frac{2\pi}{L} n x} \diff x \ =\ L \, \delta_{mn} \end{align*} \]
 一方の指数関数の肩にはマイナスが付いており、他方には付いていないという点が気になるが、その話は後にしておこう。これが成り立っていることは計算で確認できる。場合分けが必要なので、まずは\( m \neq n \)という条件でやってみよう。
\[ \begin{align*} \int^L_0 e^{i \frac{2\pi}{L} (m-n) x} \diff x \ &=\ \frac{L}{2\pi\,i(m-n)} \bigg[ e^{i \frac{2\pi}{L} (m-n) x} \bigg]^L_0 \\ &=\ \frac{L}{2\pi\,i(m-n)} \Big( e^{2\pi(m-n)i} \ -\ e^{0} \Big) \ =\ 0 \end{align*} \]
 次は\( m = n \)の場合だが、こちらはもっと簡単だ。
\[ \begin{align*} \int^L_0 e^{i \frac{2\pi}{L} (m-n) x} \diff x \ &=\ \int^L_0 e^0 \diff x \ =\ L \end{align*} \]
 さあ、こうして辻褄は合ってることは確認できたわけだが、この状況をどういう言葉でまとめたら良いだろうか。\( e^{ix} \)\( e^{-ix} \)とは互いに複素共役の関係にあるのだから、先ほど使った表現を少しだけ変更して、こう言ったらどうだろう。
\[ \begin{align*} \{ \cdots \ , \ e^{-3i \frac{2\pi}{L} x} \ , \ e^{-2i \frac{2\pi}{L} x} \ , \ e^{-i \frac{2\pi}{L} x} \ , \ 1 \ , \ e^{i \frac{2\pi}{L} x} \ , \ e^{2i \frac{2\pi}{L} x} \ , \ e^{3i \frac{2\pi}{L} x} \ , \ \cdots \} \end{align*} \]
という関数の集まりの中からどれでも二つを選んで一方だけ複素共役を取って掛け合わせたものを一定の範囲(この場合は\( 0 \sim L \))で積分してやると、ほとんどの場合は 0 になり、ただ同じ関数どうしで計算した時だけ 0 以外の値になる。


関数の直交性

 実フーリエ級数と複素フーリエ級数のどちらにも見い出せるこれらの性質は次のようにまとめられるだろう。

 多数の関数の集まり\( \{ \cdots \ ,\ \phi_n(x)\ ,\ \cdots \} \)の中からどれでも好きな二つを選んでやるとき(同じものを二つ選んでも良い)、次のような性質が成り立っている。

\[ \begin{align*} \int_\alpha^\beta \phi_m^{\ast}(x) \, \phi_n(x) \diff x \ =\ s_m \, \delta_{mn} \tag{3} \end{align*} \]
 最初に書いた\( \sin \)\( \cos \)の集まりの場合には複素共役を取っても関数の形は変わらないので、ちゃんとこのルールの中に収まることになる。

 このような性質を持つ関数の集まりを「直交関数系」と呼ぶことにしよう。互いに直交する多数のベクトルどうしの内積を取ったときの状況に良く似ているからだ。「関数系」という言葉は「関数の集まり」くらいの意味で使っている。

 また (3) 式の左辺のような計算のことを「関数\( \phi_m(x) \)\( \phi_n(x) \)内積」と表現することにしよう。一つ一つの関数をあたかもベクトルであるかのようなイメージで捉えたいのである。

 (3) 式の右辺にある定数は単なる\( s \)ではなく\( s_m \)としてあるが、これは同じ関数どうしで内積を計算した場合、選ぶ関数ごとに違う値になっていても良いという意味である。これもベクトルのイメージに重なるようにしておきたいからである。ベクトルの長さを適当に変えてしまっても、互いに直交するという性質は変わらないだろう。それと同じことであり、これからの議論では互いに直交するかどうかという性質にだけこだわりたいのである。

 それに、この\( s_m \)という値は、それぞれの関数に定数を掛けて調整してやれば幾つにでも変えられる。そのようなことをしても「互いに直交する」という性質は変わったりしない。

 例えば (3) 式をもっとすっきりさせたいというので\( s_m = 1 \)になるように調整することもできるだろう。そのように調整済みの直交関数系のことを「正規直交関数系」と呼ぶ。ちょっと長くて分かりにくいので、略して「正規直交系」と呼んでも良い。正規直交系の場合には次の関係が成り立つだろう。

\[ \begin{align*} \int_\alpha^\beta \phi_m^{\ast}(x) \, \phi_n(x) \diff x \ =\ \delta_{mn} \tag{4} \end{align*} \]
 例えば先ほど出てきた例を次のように修正すれば正規直交系になる。
\[ \begin{align*} \bigg\{ \cdots \ , \ \frac{1}{\sqrt{L}} e^{-3i \frac{2\pi}{L} x} \ , \ \frac{1}{\sqrt{L}} e^{-2i \frac{2\pi}{L} x} \ , \ \frac{1}{\sqrt{L}} e^{-i \frac{2\pi}{L} x} \ , \ \frac{1}{\sqrt{L}} \ , \ \frac{1}{\sqrt{L}} e^{i \frac{2\pi}{L} x} \ , \ \frac{1}{\sqrt{L}} e^{2i \frac{2\pi}{L} x} \ , \ \frac{1}{\sqrt{L}} e^{3i \frac{2\pi}{L} x} \ , \ \cdots \bigg\} \end{align*} \]


一般フーリエ級数

 フーリエ級数というものが実現できる裏にはこのような「関数の直交性」という性質があるようだ。もしそうだとしたら、ひょっとして (3) 式の性質を持つような関数系を用意してやることさえできれば、他にも色んな形のフーリエ級数が実現できるのではないだろうか?

 それは例えば、次のような形に書けそうだ。

\[ \begin{align*} f(x) \ =\ \sum_{n} c_n \, \phi_n(x) \tag{5} \end{align*} \]
 この係数\( c_n \)は次のようにして計算できるだろう。
\[ \begin{align*} c_n \ =\ \frac{1}{s_n} \int^\beta_\alpha \phi_n^{\ast}(x) \, f(x) \diff x \tag{6} \end{align*} \]
 このような形に当てはまるフーリエ級数をまとめて「一般フーリエ級数」と呼ぶ。フーリエ級数の概念はこのように拡張できるのである。

 本当にそのような関数系が他にも存在するのかということが気になるところだが、多く見つかっている。有名で簡単なものは、「ルジャンドル多項式」と呼ばれるもので、次のような形をしている。

\[ \begin{align*} P\sub{0}(x) \ &=\ 1 \\ P\sub{1}(x) \ &=\ x \\ P\sub{2}(x) \ &=\ {\textstyle \frac{1}{2}}(3x^2-1) \\ P\sub{3}(x) \ &=\ {\textstyle \frac{1}{2}}(5x^3-3x) \\ P\sub{4}(x) \ &=\ {\textstyle \frac{1}{8}}(35x^4-30x^2 + 3) \\ P\sub{5}(x) \ &=\ {\textstyle \frac{1}{8}}(63x^5-70x^2 + 15x) \\ &\ \vdots \\ \end{align*} \]
 これらは次のような関係を満たしている。
\[ \begin{align*} \int_{-1}^1 P_m(x) \, P_n(x) \diff x \ =\ \frac{2}{2m+1} \delta_{mn} \tag{7} \end{align*} \]
 積分範囲が\( -1 \leqq x \leqq 1 \)であることが割と大事なポイントだ。このように、積分範囲は場合によりけりである。この (7) 式の証明は面倒なのでここではやらない。ルジャンドル多項式はまた別のところで詳しく話すつもりなので深入りはしないでおこう。この多項式は\( x = 1 \)のところで 1 になるように係数が調整されている。(7) 式の右辺の係数がややこしいことになっているのはそのためだ。

 この多項式はある微分方程式の解として得られるものではあるが、その知識がなくとも導くことは出来る。まず\( P\sub{0}(x) \)\( P\sub{1}(x) \)とは直交することが確認できる。次は 2 次式がこの両方とそれぞれ直交するような条件を探してやって\( P\sub{2}(x) \)とする。その次はこれら全てと直交するような 3 次式を探してやる・・・といった具合に繰り返して行くのである。微分方程式の解として導く場合にはそのような苦労はしなくても済む。

 他にも幾つかの直交関数系があるが、紹介はこれだけにしておこう。


完全系

 さて、直交系を用意しさえすればフーリエ変換と同じことができるような書き方をしてしまったが、互いに直交する関数を無数に集めただけでどんな関数\( f(x) \)でも表せるというものではない。その説明のために用語を一つ追加しよう。

 区分的に滑らかな任意の関数\( f(x) \)を (5) 式の形で表すことのできる直交関数系を「完全直交関数系」と呼ぶ。略して「完全直交系」と呼んでもいい。もっと略して「完全系」と呼ぶこともあるが、これは直交系でない完全な関数系を指す場合もあるので略するのもほどほどにした方がよい。

 完全系から関数を一つ抜いてしまうだけで、それは完全系ではなくなってしまう。たとえ互いに直交する関数が無限にあったとしても、そのいずれも、抜かれた関数の代わりは果たせないということだ。実は最初に例として書いた

\[ \begin{align*} \{ \cos x \ , \ \cos 2x\ , \ \cos 3x \ , \ \cdots \ , \ \sin x \ , \ \sin 2x \ , \ \sin 3x \ , \ \cdots \} \end{align*} \]
というのも、これだけでは完全系ではない。実フーリエ級数には定数項もあり、それがないと任意の関数\( f(x) \)を表すことはできないのだった。だから定数関数をこの仲間に入れておく必要がある。定数関数もこれらの全ての関数と直交するから、それを加えても全体が直交系であることに変わりはない。定数ならどんな数値でもいいので 1 でもいいし、自身との内積を取ったときの値を他と合わせる為には\( 1/\sqrt{2} \)としておくのもいいだろう。まぁ、見た目がすっきりしている方にしておこう。
\[ \begin{align*} \{ 1 \ , \ \cos x \ , \ \cos 2x\ , \ \cos 3x \ , \ \cdots \ , \ \sin x \ , \ \sin 2x \ , \ \sin 3x \ , \ \cdots \} \end{align*} \]
 これなら完全系だと言える。

 ところで、これが完全系であることはどのようにして確かめたのだっただろうか。ちょっと前の記事を振り返ってみよう・・・。ああ、そうだ、その証明は面倒だから、と言って省略したのだった。おおよそ物理数学としては応用の利かないような特別な事例についての定理を組み合わせて証明する必要があるので、説明を避けたのである。

 そういう状況であるから、完全系であるかどうかをいつでも簡単に判定できるような公式などは存在していないのだろう。それぞれの関数系ごとに苦労して証明する必要がある。先ほどのルジャンドル多項式は完全系であることが証明されているので安心してよい。


線形空間

 先ほどから、関数の内積だとか、直交だとか、関数がいかにもベクトルであるかのようなイメージに重ねようとしているのが伺えるだろう。ところがここで、線形代数の解説に出てきた「線形空間の公理」に目を通してみて欲しい。この公理に当てはまるものは、たとえ「我々が良く馴染んでいるベクトル」とは見た目が違っていても、それをベクトルだと見なすことにするのだった。全てをこの公理を元にして議論を進めているので、対象が違っていても全く同じ論理が当てはまるからである。

 関数はこれらの公理をすべて満たしている・・・!?どうやらそのようだ。数学的には関数をベクトルだと見なしてよい!

 公理から始まる数学の教科書では、ベクトルが定義できたら次は基底の話になる。それは任意のベクトルを線形和で表すことの出来るような、線形独立なベクトルの組のことを言うのだった。この「ベクトル」の部分を「関数」に言い換えれば、任意の関数を線形和で表せるような関数の組のことである。それは (5) 式と同じ内容のことを言っているのではないか!すると、直交関数系が基底と同じ役割を果たすことになる。

 基底の数によってベクトルの次元が定義されるのだったから、関数というのは無限次元のベクトルだということが言えるだろう。

 いや、待て待て待て待て・・・・ベクトルには線形写像というものがあったではないか。果たしてそんなところまで対応させられるだろうか?線形写像というのは、ベクトルを別のベクトルに対応させる決まりのようなものだった。つまり、関数を別の関数に変換するようなもので、かつ次のような規則に従うものである。

\[ \begin{align*} &f(\Vec{x}+\Vec{y}) \ =\ f(\Vec{x}) \ +\ f(\Vec{y}) \\ &f(a\Vec{x}) \ =\ a \, f(\Vec{x}) \end{align*} \]
 線形代数のところからそのまま引用してきただけなので、記号がかぶってしまった。何だか線形変換\( f \)自体が関数のように見えてしまうが、ここでは\( f \)が変換の規則を表していて、\( \Vec{x} \)\( \Vec{y} \)が関数を意味しているのである。ちょっとややこしい。

 この規則に従う変換は割りと身近に存在している。例えば微分だ。微分はある関数を別の形の関数へと変換するルールだと解釈できるだろう。そして、二種類の関数を足してから微分したものは、別々に微分したものを後から足しても同じものになる。また、ある関数を定数倍してから微分したものは、微分した後で定数倍しても同じ結果になる。まさにこの規則の通りだ。

 関数の微分は線形写像(線形変換)の一種だと言えるだろう。

 線形代数と重なる部分はまだある。線形代数では「内積の公理」と呼ばれるものもあった。関数の内積というのは (3) 式のようなものだったが、これは確かに内積の公理を満たしている。(内積の公理についてはこのリンク先を復習してほしい。)一方の関数だけ複素共役を取ってから掛け合わせて積分するのは、自分自身との内積を計算したときの結果が必ず 0 または正の実数値になるために必要なことである。これは内積の公理の一つになっている。

確認: 複素数は、自身の複素共役との積を計算すると絶対値の二乗になるから、 そのような計算をすると必ず 0 または正の実数になるのである。
 このようにして、関数は線形代数で扱われるベクトルそのものだ、ということが言えてしまう。

 いやはや、これはややこしいことになってきた。関数はベクトルそのものだということであり、関数の「自身との内積」というのは「ベクトルの長さ」の 2 乗に相当するイメージだ。それはいいのだが、「ベクトルの長さ」という表現ではまるで関数にも長さがあるかのようではないか。これを「関数の長さ」と表現したのではどうも意味が通じにくい。このように、「ベクトルの自身との内積」は、必ずしも単純に「長さの 2 乗」を意味するとは限らないのである。そういう混乱を避けるために、線形代数にはノルムという用語が用意されているのだった。

 今後は「関数の自身との内積」という表現の代わりに「関数のノルム」という表現を積極的に使って行くことにしよう。正確にはノルムというのは、「関数の自身との内積」の平方根を意味することになる。


パーセバルの等式の意味

 ここまで来たら、以前に出てきたパーセバルの等式が意味するもののイメージを思い描くのは簡単だ。パーセバルの等式は次のようなものだった。
\[ \begin{align*} \int_0^L f(x)^2 \diff x \ =\ \frac{L}{2} \left[ \frac{a\sub{0}^2}{2} \ +\ \sum_{n=1}^{\infty}( {a_n}^2 + {b_n}^2 ) \right] \end{align*} \]
 この左辺はまさに、関数\( f(x) \)の、自身との内積を意味している。数ベクトルのイメージでたとえるならば、ベクトルの長さの 2 乗に相当する。

 そして右辺はそれぞれの項の係数の二乗の和でできている。あたかも\( (x,y,z) \)という数ベクトルの長さの 2 乗が\( x^2 + y^2 + z^2 \)で計算できるのに似ている。関数の場合は無限次元だから、項が無限に続くのである。余計な係数があれこれ付いていて同じようにまとまらないのは、この場合の基底ベクトルに相当する

\[ \begin{align*} \left\{ \frac{1}{2} \ , \ \cos\left( \frac{2\pi}{L}nx \right) \ , \ \cos\left( \frac{2\pi}{L}nx \right) \right\} \end{align*} \]
という関数系のそれぞれの関数のノルムが 1 に揃っていないせいであろう。正規直交系を使えばきれいにまとまるに違いない。

 そういうことを考え始めると、一般フーリエ級数の場合のパーセバルの等式がどうなるかが気になり始める。計算は以前にやったのと似たようなものなので省略しよう。結果は次のようになるはずである。

\[ \begin{align*} \int_\alpha^\beta |f(x)|^2 \diff x \ =\ \sum_{n} s_n |c_n|^2 \end{align*} \]
 \( s_n \)は (3) 式の右辺に出てくるのと同じもので、各関数のノルムの 2 乗のことであり、もし正規直交系なら\( s_n = 1 \)である。そして\( c_n \)は (6) 式で計算される係数である。一般フーリエ級数では\( c_n \)\( f(x) \)も複素数である可能性があるので\( |f(x)|^2 \)\( |c_n|^2 \)という表記にしてある。

 複素数の扱いに慣れていない読者のために念の為に書いておくと

\[ \begin{align*} |f(x)|^2 \ &=\ f^{\ast}(x) \, f(x) \\ |c_n|^2 \ &=\ c_n^{\ast} \, c_n \end{align*} \]
という意味で使っているのである。