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

11.フーリエ変換

1) スペクトル

ヒルベルト空間におけるピタゴラスの定理であるパーセヴァルの等式より、

2=∫{x(j)}2dj=
Σ
i=1
‖aii2=Σai2i2
   =Σai2・∫{zi(j)}2dj=Σ (∫x(j)zi(j)dj)2
───────
∫{zi(j)}2dj
ただし、
ai 'i
────
i2
∫x(j)zi(j)dj
─────
∫{zi(j)}2dj
図20 パワースペクトル 図21 ベクトルのパワー

各成分ベクトルのノルムの平方、つまり‖aii2を「パワー(power)」といい、この式の右側についてiを横軸にし、パワーを縦軸にプロットしたグラフを「(パワー)スペクトル(power spectrum)」といいます。 このスペクトルは関数x(j)に各成分関数zi(j)がどの程度含まれているかを表すもので、光をプリズムで色々な波長に分けた時のスペクトルに相当します。

成分ベクトルaiiはベクトルiが表す座標軸に正射影したベクトルですから、そのパワー(‖aii2)が大きいということは、成分ベクトルのノルムが大きいということであり、ベクトルがその座標軸により近いことを意味しています。

θ≦45°の時 ‖a112≧‖a222
θ= 0°の時 ‖a112=‖2 、‖a222=0

そしてベクトルが特定の座標軸と重なってしまうと、その成分のパワーは‖2と等しくなり、他の成分のパワーは0になります。 このように少数の成分のパワーだけが大きく、他の成分のパワーが0になる場合を「スペクトル幅が狭い」と表現することにします。 スペクトル幅が狭い場合は、当然、より少数の成分でフーリエ展開できますから、フーリエ展開が簡単になります。

図22 なだらかな関数

ここで色々な形の関数x(j)をフーリエ展開する時、三角関数とパルス関数のどちらが展開しやすいか、つまりどちらのスペクトル幅が狭いか考えてみることにしましょう。

例えば音波のように関数x(j)がサインカーブに近い場合は、少数のサインカーブを組み合わせるだけで合成できますから、当然、三角関数でフーリエ展開する方が簡単で、スペクトル幅が狭くなります。 このような形の関数をパルス関数でフーリエ展開しようとすれば、無限個に近いパルス関数に展開することになり、スペクトル幅が広くなります。

2x(j)= 2
Σ
i=0
ai・zi(j)=a0 2
Σ
i=1
{ai・cos(2πij/T)+bi・sin(2πij/T)}
   ≒
Σ
i=1
ai・ei(j)
図23 パルス状の関数

反対に、例えば図23のように関数x(j)がパルス波に近い場合は、少数のパルス波を組み合わせるだけで合成できますから、当然、パルス関数でフーリエ展開する方が簡単で、スペクトル幅が狭くなります。 このような形の関数を三角関数でフーリエ展開しようとすれば、無限個に近い三角関数に展開することになり、スペクトル幅が広くなります。

x(j)= p
Σ
i=1
ai・zi(j)= p
Σ
i=1
ai・ei(j)
  ≒a0
Σ
i=1
{ai・cos(2πij/T)+bi・sin(2πij/T)}
図24 三角関数の表す座標軸

このことをベクトル空間で表しますと、関数x(j)がサインカーブに近い場合は、対応するベクトルが三角関数で表される直交座標軸のどれかに近くなり、関数x(j)がパルス関数に近い場合は、対応するベクトルがパルス関数で表される基本的な直交座標軸のどれかに近くなります。

パルス関数は基本ベクトルに相当しますから、それが表す基本的な直交座標軸はイメージしやすいと思いますが、三角関数がどのような直交座標軸を表わしているかはイメージしにくいと思います。 そこで、三角関数ベクトルの値のうち特徴のある値を拾いますと、

z0(j)=cos(2π0j/T)=cos0=[1 … 1 … ]
z1(j)=cos(2πj/T)=[1 … 0 … -1 … 0 … ]

となります。 これらの値と、三角関数はパルス関数と正反対の性質を持つことから類推して、三角関数が表す直交座標軸は、図24のように基本ベクトルが表す基本的な直交座標軸を45度回転した直交座標軸に相当すると考えられます。 したがって三角関数に近い関数x(j)に対応するベクトルは、基本的な直交座標軸を45度回転した直交座標軸に近くなりますから、基本ベクトルが表す基本的な直交座標軸に正射影しますと、どの軸にも同じような大きさの正射影ができることになり、正射影の数が無限個に近くなります。 つまり、フーリエ展開のスペクトル幅が広くなるわけです。

‖a112≒‖a222≒ … ≒‖aii2≒ … ≠0

このように、座標軸が45度の関係にある2組の直交基底はフーリエ展開に関してお互いに正反対の性質を持っていて、相補的な関係にあります。 これを「共役関係にある基底(または座標軸)」といいます。 そして関数x(j)をパルス関数でフーリエ展開した時のスペクトル幅をΔw、それと共役関係にある三角関数でフーリエ展開した時のスペクトル幅をΔmとしますと、

Δw×Δm≧ある定数

という関係があり、これを「フーリエ展開の(または波の)不確定性原理」と呼びます。

この原理は、デジタル・シンセサイザーで完璧に合成できるパルス波に近い音波は、アナログ・シンセサイザーでは不完全にしか合成できず、逆にアナログ・シンセサイザーで完璧に合成できるサインカーブに近い音波は、デジタル・シンセサイザーでは不完全にしか合成できないこと意味しています。 不確定性原理が成り立つ理由は、図24を見れば納得していただけると思います。 つまり共役関係にある座標軸の両方に重なるようなベクトルは存在しませんから、ΔwとΔmの両方が同時に0になることは有り得ないわけです。

この原理が「不確定性原理」と呼ばれる理由は、実は量子力学に由来しています。 量子力学では、電子などの量子の状態をヒルベルト空間上のベクトルψ(状態関数ψ)で表します。 量子の色々な物理的属性を測定するということは、その属性に対応する直交座標軸にψを直交分解する、つまり関数ψを属性に対応する直交基底関数でフーリエ展開することに相当します。

例えば量子の位置に対応する直交基底関数は、ヒルベルト空間における基本ベクトルに相当するパルス関数です。 量子の位置を観測する場合、ψをパルス関数でフーリエ展開し、

ψ
Σ
i=1
aii

となります。 この時、iが表す1本1本の座標軸は、例えば量子の位置=1、位置=2などといったひとつひとつの位置の観測値に対応していて、そのパワーつまりベクトルaiiのノルムの平方、

‖aii2=ai2i2=ai2=(ψ'i)2

が、その観測値を得る確率となります。

一方、量子の運動量に対応する直交基底関数は、パルス関数と共役関係にある三角関数です。 したがってψが基本ベクトルに相当する基本的な直交座標軸の1本と重なっていて、量子の位置が1つの値に確定したとしますと、その量子の運動量は無限の種類の観測値を得る可能性があることになります。 反対にψが三角関数に相当する直交座標軸の1本と重なっていて、運動量が1つの値に確定したとしますと、その量子の位置は無限の種類の観測値を得る可能性があることになります。 つまり、量子の位置と運動量は確定した値を同時に得ることはできないわけです。

この時、量子の位置のバラツキ具合、すなわち状態関数ψのパルス関数によるフーリエ展開のスペクトル幅をΔx、運動量のバラツキ具合、すなわち状態関数ψの三角関数によるフーリエ展開のスペクトル幅をΔpとしますと、

Δx×Δp≧ h
──
  h:プランク定数

という関係があります。 これが、ハイゼンベルグが提唱した量子力学における有名な「不確定性原理」です。

フーリエ展開の不確定性原理は量子力学のものよりもかなり前から知られていましたが、適当な名前が付けられていませんでした。 ところがこの原理を応用した量子力学の不確定性原理が有名になったので、その逆輸入のような感じで「不確定性原理」と呼ばれるようになったのです。

ハイゼンベルグの不確定性原理について、一般向けの解説書では、

「光を用いて量子を観測する場合、光子が量子の状態を撹乱してしまうため、量子の位置と運動量に不可避的な不確定性が生ずる」

などと説明していることが多いのですが、これは実は歴史的かつ一般向けかつ表面的な説明なのです。 不確定性原理は、本質的には量子の2種類の物理的属性がお互いに共役関係にある2種類の直交基底関数で表されることと、その関数間にフーリエ展開の不確定性原理が成り立つことに由来しています。 したがって観測による撹乱の原理が適用できない場合でも不確定性原理は成立しますし、量子力学の根本原理と言われる理由もここにあります。

1900年、プランクによって始められた量子力学はアインシュタイン、ド・ブロイ、ボーアなどによって発展されました。 しかし、この時期の量子力学はまだまだ古典力学とのつぎはぎ理論的な「前期量子力学」でした。 それが十二分に機が熟していたためか、1925年、ほとんど時を同じくして2つの近代的量子論が独立に発表されたのです。

最初に発表したのは、ドイツの理論物理学者ハイゼンベルグ(Werner Karl Heisenberg、1901-1976)でした。 彼は基本的に量子を粒と考え、そこに波動性を盛り込んで行列とベクトルの演算原理に基づいた「行列力学」を建設しました。 その数ヶ月後、今度はオーストリアの理論物理学者シュレディンガー(Erwin Schrodinger、1887-1961)がそれとはまったく異なった形式の量子論を発表しました。 彼は基本的に量子を波と考え、そこに粒子性を盛り込んで波のフーリエ展開原理に基づいた「波動力学」を建設しました。 この2つの量子論は表面上は極めて異質な理論でしたが、不思議なことにあらゆる量子問題に対して全く同じ答を出したのです。 当然、どちらも自分の理論の正統性を主張し、両者の間で激しい議論が繰り広げられました。

やがてシュレディンガーが両方の方程式が同等であることを証明し、イギリスの理論物理学者ディラック(Paul Adrian Maurice Dirac、1902-1984、僕の好きな物理学者です。(^^)v)が、どちらの理論もヒルベルト空間における状態ベクトルψの直交分解に相当することを証明して、議論にケリが着きました。 一般にはあまり有名ではありませんが、ディラック自身も二人とは独立にヒルベルト空間を利用した量子力学である「変換理論」を建設しており、二人の理論が彼の変換理論の特殊な場合に相当することを証明したのです。

現在では、どちらかと言えば、物理学分野の人は数学的に扱いやすいシュレディンガーの波動力学を好み、数学分野の人は理論的にまとまりの良いヒルベルト空間を利用したディラックの変換理論を好むようです。 このように、量子力学の根本ではベクトルの直交分解とフーリエ展開の不確定性原理、さらにピタゴラスの定理が重要な役目を果たしています。

2) フーリエ変換

ヒルベルト空間上で直交変換されたベクトル、つまり関数y(j)の成分は、ベクトルつまり関数x(j)をフーリエ展開した時の係数a1、…、ai、…すなわちフーリエ係数ですから、y(j)はフーリエ係数の関数になります。 フーリエ係数はフーリエ展開における成分ベクトルのノルムそのものであり、パワースペクトルの平方根になります。 このスペクトルは「振幅スペクトル(amplitude spectrum)」と呼ばれ、波に含まれている成分波の振幅の大きさを表します。

このようにヒルベルト空間上の直交変換を「フーリエ変換(Fourier transformation)」といい、波を表す関数x(j)をスペクトルを表す関数y(j)に変換します。 そしてフーリエ変換を利用して関数x(j)のスペクトル関数y(j)を求めることを「スペクトル解析(spectrum analysis)」、または「フーリエ解析(Fourier analysis)」といいます。 つまり、あるベクトルを基本的な直交座標から見た時は波として見え、別の直交座標系から見た時はスペクトルとして見えるわけです。

量子力学では量子の状態関数ψを基本的な座標系から見たもの、つまり基本ベクトルに相当するパルス関数によって直交分解したものが量子の位置を表す関数x(j)となり、それを三角関数でフーリエ変換してスペクトル関数に変換したものが量子の運動量を表す関数y(j)となります。 これがディラックが建設した量子力学である「変換理論」の原理です。 変換理論と言われる理由は、このように直交変換を利用しているからです。

また前節で説明しましたように、スペクトル関数y(j)のスペクトル幅は元の関数x(j)の形によって左右されます。 元の関数x(j)がサインカーブ状のなだらかな関数ですとy(j)のスペクトル幅は狭くなり、x(j)がパルス上の鋭い関数ですとy(j)のスペクトル幅は広くなります。 x(j)とy(j)は同じ情報を持っていて相互変換することが可能ですから、関数の情報を保存する場合、スペクトル幅の狭い方を保存すると効率的に保存することができます。

この原理を利用して画像を圧縮する技法が「JPEG圧縮法」です。 JPEG圧縮法では画像データをフーリエ変換してスペクトルデータにし、それを保存します。 このため、写真のようになだらかな変化の画像は効率的に圧縮することができますが、マンガ調の鋭い変化の画像は圧縮効率が悪くなります。 また画像の境界部分で色が周囲に滲むJPEG圧縮独特の画像の劣化は、画像の鋭い変化をサインカーブで近似することに原因があります。