玄関雑学の部屋雑学コーナーベクトルと行列

10.フーリエ展開

1) ヒルベルト空間

図15 連続関数とベクトル

ベクトルの成分数、すなわちベクトル空間の次元をn→∞とした場合を考えてみましょう。 図15のようにt=0〜Tを定義域とする連続関数 x=f(t) があったとします。 この関数についてΔt=T/n間隔で、t=Δt、2・Δt、…、j・Δt、…、n・Δt=Tのn個のポイントで関数の値を計算したものを、x1=f(Δt)、x2=f(2・Δt)、…、xj=f(j・Δt)、…、xn=f(n・Δt)=f(T)とします。 このx1〜xnを並べますと、

'=[x1 x2 … xj … xn

と、n次元ベクトルになります。 このベクトルは添字jを媒介変数とした離散関数x(j)と考えることができます。 (添字をjとしたのはzの添字iと区別するためです)

このグラフでn→∞としていきますと、Δt→0となり関数値のプロットとプロットの間隔が詰まっていき、最終的にはプロットとプロットがつながって連続関数x=f(t)そのものになります。 この時、無限次元ベクトルは添字jを媒介変数とした連続関数 x(j)=f(t) になります。 つまりn次元ベクトルは添字jを媒介変数とした離散関数(とびとびの値を取る関数)と考えられ、無限次元ベクトルは添字jを媒介変数とした連続関数と考えられるわけです。

そうしますと、無限次元ベクトルは無限個の直交基底1、…、i、…を用いて次のように直交分解することができます。

'=[x1 … xj … ]=x(j)  (j=1,…,∞)
i'=[zi1 … zij … ]=zi(j)  (i,j=1,…,∞)

=a11 + … + aii + … =
Σ
i=1
aii
∴x(j)=a1・z1(j) + … + aizi(j) + … =
Σ
i=1
aizi(j)

ここでベクトルの内積を無限次元にまで拡張しますと、

'
Σ
i=1
xi・yi=∫1x(i)y(i)di=∫x(t)y(t)dt  … (10.1)

となり、これを「関数の内積」と呼びます。 もし、

∫zi(j)zk(j)dj=0  (i,k=1,…,∞、i≠k)
∫zi(j)zi(j)dj=∫{zi(j)}2dj=1

と、zi(j)とzk(j)(i≠k)の内積が0になり、zi(j)自身の内積すなわちzi(j)のノルムの平方が1になりますと、これらの関数は無限次元ベクトル空間の正規直交基底となり、無限本の直交座標軸に対応することになります。

このように、n次元ベクトル空間を無限次元まで拡張したものを「ヒルベルト空間(Hilbert space)」と呼びます。 ヒルベルト空間ではベクトルは連続関数x(j)に相当し、ベクトルとベクトルの内積は連続関数x(j)と連続関数y(j)の積の積分に相当します。 (注1)

2) フーリエ展開

ヒルベルト空間上のベクトルつまり連続関数x(j)を、直交基底1、…、i、…つまり直交基底関数z1(j)、…、zi(j)、…で直交分解しますと次のようになります。

ai 'i
─────
i2
∫x(j)zi(j)dj
─────
∫{zi(j)}2dj
=x(j)=
Σ
i=1
ai・zi(j)=Σ{ ∫x(j)zi(j)dj
─────
∫{zi(j)}2dj
}・zi(j)   … (10.2)

これを関数x(j)のzi(j)に関する「フーリエ級数(Fourier series)」といい、係数aiを「フーリエ係数」、関数をフーリエ級数に直交分解することを「フーリエ展開」といいます。 もしzi(j)が正規直交基底関数ですと、∫{zi(j)}2dj=1より、

ai=∫x(j)zi(j)dj
x(j)=
Σ
i=1
ai・zi(j)=Σ{∫x(j)zi(j)dj}・zi(j)   … (10.3)

と簡単になります。 この時、ピタゴラスの定理に相当する関係は、

2
Σ
i=1
ai2i2=Σai2=Σ('i)2
∫{x(j)}2dj=
Σ
i=1
ai2=Σ{∫x(j)zi(j)dj}2   … (10.4)

となり、これを「パーセヴァル(Parseval)の等式」といいます。 パーセヴァルの等式はヒルベルト空間におけるピタゴラスの定理、つまりピタゴラスの定理を無限次元まで拡張したものに他なりません。

図16 パルス関数

ヒルベルト空間上でベクトルを直交分解する場合、正規直交基底関数としては基本ベクトルに相当するパルス関数(ある点だけが1で他は0の関数、「ディラックのδ関数」とも呼ぶ)が、直交基底関数としては周期Tの三角関数{1、cos(2πj/T)、sin(2πj/T)、…、cos(2πij/T)、sin(2πij/T)、…}がよく用いられます。

パルス関数 ei(j)=[0 … 0 1 0 …]
三角関数 zi(j)=cos(2πij/T)=[1 … 0 … -1 … 0 … ]
ただし z0(j)=cos(2π0j/T)=cos0=[1 … 1 … ]

図17 三角関数

三角関数については、2つの基底関数の内積∫zi(j)zk(j)djが次のように5通りあります。

 T

 0
cos0・cos(2πkj/T)dj=∫1・cos(2πkj/T)dj=∫cos(2πkj/T)dj  (k=1,…,∞)
 T

 0
cos0・sin(2πkj/T)dj=∫1・cos(2πkj/T)dj=∫cos(2πkj/T)dj  (k=1,…,∞)
 T

 0
cos(2πij/T)sin(2πkj/T)dj  (i,k=1,…,∞、i=kの時も含む)
 T

 0
cos(2πij/T)cos(2πkj/T)dj  (i,k=1,…,∞、i≠k)
 T

 0
sin(2πij/T)sin(2πkj/T)dj  (i,k=1,…,∞、i≠k)

このうち、例えば3番目の式についてi≠kの時とi=kの時を計算してみますと、

∫cos(2πij/T)sin(2πkj/T)dj=∫ 1

2
[sin{2π(i+k)j/T}+sin{2π(i-k)j/T}]dj
 T

 0
cos(2πij/T)sin(2πkj/T)dj=  T

 0
1

2
[sin{2π(i+k)j/T}+sin{2π(i-k)j/T}]dj
 =− 1

2
[ cos{2π(i+k)j/T}・T
────────
2π(i+k)
cos{2π(i-k)j/T}・T
────────
2π(i-k)
 T
]
 0
 =− T
──
[ cos{2π(i+k)}
──────
i + k
cos{2π(i-k)}
──────
i - k
cos0
───
i + k
cos0
───
i - k
]
 =− T
──
(1+1−1−1)=0
∫cos(2πij/T)sin(2πij/T)dj=∫ 1

2
・sin(4πij/T)dj
 T

 0
cos(2πij/T)sin(2πkj/T)dj=  T

 0
1

2
・sin(4πij/T)dj
 =− 1

2
[ cos{4πij/T}・T
───────
4πi
cos{-4πij/T}・T
───────
4πi
 T
]
 0
=0

となり、確かに直交しています。 他の式についても同様にして、

 T

 0
cos(2πkj/T)dj=0  (k=1,…,∞)
 T

 0
sin(2πkj/T)dj=0  (k=1,…,∞)
 T

 0
cos(2πij/T)cos(2πkj/T)dj=0  (i,k=1,…,∞、i≠k)
 T

 0
sin(2πij/T)sin(2πkj/T)dj=0  (i,k=1,…,∞、i≠k)

となり、直交基底関数であることがわかります。 一方、基底関数のノルムの平方∫{zi(j)}2djは3通りあり、

 T

 0
(cos0)2dj=  T

 0
12dj=[j  T
]
 0
=T
 T

 0
{cos(2πij/T)}2dj= T
──
2πi
[ sin(2πij/T)cos(2πij/T)
──────────
2
πij
──
T
 T
]
 0
 = T
──
2πi
{ sin(2πi)cos(2πi)
───────
2
πi・sin(-2πi)cos(-2πi)
──────────
2
}
 = T
──
2πi
(0+πi−0)= T

2
 T

 0
{sin(2πij/T)}2dj T
──
2πi
[ -sin(2πij/T)cos(2πij/T)
───────────
2
πij
──
T
 T
]
 0
 = T
──
2πi
・πi= T

2

となり、正規直交基底関数になるとは限りません。 これらを利用しますと、x(j)のフーリエ展開は次のようになります。 フーリエ展開と言えば、普通はこのような三角関数列を用いたものをさします。

x(j)=
Σ
i=0
ai・zi(j)=a0
Σ
i=1
{ai・cos(2πij/T)+bi・sin(2πij/T)}   … (10.5)
a0 ∫x(j)z0(j)dj
──────
∫{z0(j)}2dj
1

T
∫x(j)dj
ai ∫x(j)zi(j)dj
──────
∫{zi(j)}2dj
2

T
∫x(j)cos(2πij/T)dj
bi ∫x(j)zi(j)dj
──────
∫{zi(j)}2dj
2

T
∫x(j)sin(2πij/T)dj
図18 三角関数によるフーリエ展開

この形式のフーリエ展開はフランスの数理物理学者フーリエ(Jean Baptiste Joseth Baron de Fourier、1768-1830)が発見したもので、熱伝導の研究から導き出されました。 フーリエ展開の意味するところは、任意の連続関数x(j)は複数の三角関数に分解できる、つまり任意の連続関数は複数のサインカーブを組み合わせることによって合成することができる、ということです。

光をプリズムによって波長の違うたくさんの単色光スペクトルに分解することは、屈折率の違いを利用したプリズムによるフーリエ展開に相当します。 また波長の違うたくさんのサインカーブを組み合わせることによって、色々な波形の音を合成する「アナログ・シンセサイザー」はこの原理を応用したものです。

図19 パルス関数によるフーリエ展開

一方、基本ベクトルに相当するパルス関数を用いたフーリエ展開の原理を応用したものが、アナログ波を細かいパルスに分けてその部分の強さを数字として表現する「A/D(アナログ/デジタル)変換」です。 これは「デジタル・シンセサイザー」の原理であり、CDの録音原理としてお馴染みです。

x(j)=
Σ
i=1
ai・zi(j)=
Σ
i=1
ai・ei(j)   … (10.6)

(注1) ヒルベルト空間の正確な定義は「完備な内積空間つまり内積が定義されたベクトル空間の中で、その内積から導かれるノルムによって距離が定義された完備な距離空間」というもので、実は有限次元ユークリッド空間もヒルベルト空間になります。 しかしヒルベルト空間といえばほとんどの場合は無限次元のものを対象にし、ユークリッド空間といえばほとんどの場合は有限次元のものを対象にしますので、有限か無限かで両者を区別すると思って差し支えありません。

また量子力学では、電子などの量子の状態をヒルベルト空間上のベクトルψ(状態関数ψ)で表します。 量子の色々な物理的属性を測定するということは、その属性に対応する直交座標軸にψを直交分解することに相当します。 このため、ヒルベルト空間は物理学分野でよく利用されます。