ギブズ現象
ギブズ現象(ギブズげんしょう,Gibbs phenomenon)は、区分的連続微分可能な周期関数のフーリエ級数において、その関数が第1種不連続 (discontinuity of the first kind 又は jump discontinuity) となる点付近では、フーリエ級数のn 次部分和が大きく振動して、部分和の最大値が関数自体の最大値より大きくなってしまうことがあるという振る舞いのことを指す(不連続点付近での収束の乱れ)。この超過量は、高調波の周波数(つまり、部分和の項数)が増えても無くならず、ある有限極限値に近付く。日本語表記として「ギブズの現象」、「ギブス現象」、「ギブスの現象」とされることもある。名称はジョシュア・ウィラード・ギブズにちなむ。
一般的には、大きさa の跳びを有する、区分的連続微分可能な関数の任意の第1種不連続点において、その関数のフーリエ級数の n 次部分和(n は非常に大きいとする)は、跳びが起こる一方の端では、約 0.089490... ×a だけ大きくなりすぎ、他方の端では、同じ分量だけ小さくなりすぎる。従って、フーリエ級数の部分和の「跳び」は、元の関数の跳びより約 18% 大きくなる。不連続点自体では、フーリエ級数の部分和は、跳びの中点に収束していく(これは、元の関数がこの点で如何なる値を実際に取るかとは無関係である)。
\int_0^\pi \frac{\sin t}{t}\ dt = \operatorname{Si}(\pi) = 1.851937052\cdots = \frac{\pi}{2} + \pi\cdot 0.089490\cdots
は、「ウィルブラハム=ギブズ定数」(Wilbraham–Gibbs constant) と呼ばれることもある(Siは正弦積分)。
ギブズ現象は、アルバート・マイケルソンにより、グラフ作成機において最初に発見された。マイケルソンは、1898年に、フーリエ級数を計算・再合成する機械的装置を開発したが、矩形波を装置に入力すると、グラフは、不連続点付近で行ったり来たりしようとするのだった。これは、発生すると、フーリエ係数の個数が無限大に近付いても持続するようだった。
この現象を始めて数学的に説明したのが、ジョシュア・ウィラード・ギブズだった。大まかな表現をするなら、この現象は、不連続関数を連続関数である正弦波関数および余弦波関数からなる級数で近似することに内在する困難の現れである。それは、また、ある関数のフーリエ係数が次数の増大に応じて減衰していく仕方が、その関数の滑らかさに従うという原則に、緊密に関係している。非常に滑らかな関数では、そのフーリエ係数は非常に急速に減衰する(そして、フーリエ級数は非常に急速に収束する)。これに対し、不連続関数では、フーリエ係数の減衰は非常に緩やかである(従って、フーリエ級数の収束は非常に緩慢である)。例えば、不連続である上記の矩形波のフーリエ係数  1, 1/3, 1/5, ... は、絶対収束級数ではない調和級数程度の速さでしか減衰しない。実際、上記のフーリエ級数は、変数x のほとんど全ての値で、条件収束するだけであることが分っている。このことは、ギブス現象が何故起こるのかということの一端を説明する。それは、絶対収束するフーリエ係数を有するフーリエ級数は、ワイエルシュトラスの判定法により一様収束するから、上述のような振動を起こすことはありえないからである。同じ理由で、不連続関数は、絶対収束するフーリエ係数を持つのは不可能である。何故なら、もしそうした関数が存在したとしたら、それは、連続関数列の一様極限になるので、連続関数でなければならなくなり、矛盾が生じるからである。
実際上は、ギブズ現象による問題は、フェイエール総和法またはリース総和法 (Riesz summation) 等のフーリエ級数の総和法における平滑化を行ったり、シグマ近似を行ったりするなら、改善できる。また、フーリエ変換の代わりに、ウェーブレット変換を用いるなら、ギブズ現象は発生しなくなる。
f: {\mathbb R} \to {\mathbb R} を、ある実数L > 0 を周期とする区分的連続微分可能な周期関数とする。ある点x0 において、関数f の左極限f (x0- ) と右極限f (x0+ ) とが、ゼロでない「跳び」a  だけ食い違っているものとする。つまり:
f(x_0^+) - f(x_0^-) = a \neq 0
正整数N ≥ 1 の各々に対して、SN f を、フーリエ級数のN 次部分和とする。つまり:
S_N f(x) := \sum_{-N \leq n \leq N} \hat f(n) e^{2\pi i n x / L}
= \frac{1}{2} a_0 + \sum_{n=1}^N a_n \cos(2\pi nx/L) + b_n \sin(2\pi nx/L)
ここで、フーリエ係数 \hat f(n), a_n, b_n は、次の通常通りの式で与えられたものである。
\begin{align} \hat f(n) &:= \frac{1}{L} \int_0^L f(x) e^{-2\pi i nx/L}\ dx \\
a_n &:= \frac{2}{L} \int_0^L f(x) \cos(2\pi nx/L)\ dx \\
b_n &:= \frac{2}{L} \int_0^L f(x) \sin(2\pi nx/L)\ dx \end{align}
従って、次の式が得られる:
\begin{align} \lim_{N \to \infty} S_N f(x_0 + L/2N) &= f(x_0^+) + a\cdot 0.089490\dots \\
\lim_{N \to \infty} S_N f(x_0 - L/2N) &= f(x_0^-) - a\cdot 0.089490\dots \end{align}
\lim_{N \to \infty} S_N f(x_0) = \frac{f(x_0^-) + f(x_0^+)}{2}
より一般的には、xN が N \to \infty の時にx0 に収束する任意の実数列であるとし、また跳びa が正であるとすると、次のようになる。
\begin{align} \limsup_{N \to \infty} S_N f(x_N) &\leq f(x_0^+) + a\cdot 0.089490\dots \\
\liminf_{N \to \infty} S_N f(x_N) &\geq f(x_0^-) - a\cdot 0.089490\dots \end{align}
跳びa が負である場合には、上の2つの不等式において、上極限と下極限とを交換し、そして ≤ 記号と ≥ 記号とを交換する必要がある。
右の3つの図は、矩形波:
f(x) = \begin{cases}0 & x = 2n\pi\\
\pi/4 & 2n\pi < x < (2n+1)\pi\\
0 & x = (2n+1)\pi\\
-\pi/4 & (2n+1)\pi < x < 2(n+1)\pi \end{cases}
について、ギブズ現象を示したものである。矩形波は、 変数値x  がπの整数倍になる全ての点において不連続であり、高さπ/2 の跳びを有する。
矩形波のフーリエ展開は以下の通り:
図から分かるように、部分和の項数が増えるに連れて、近似誤差は幅、エネルギーとも減少するが、その高さは固定値に収束する。矩形波について計算すると(後述の計算を参照)、この誤差の高さの極限値を与える明示的な式が得られる。これから、フーリエ級数は、矩形波の高さπ/4 を、次の式で与えられる量だけ超過することが分かる。
この矩形波の場合、周期はL = 2πであり、不連続点はx0  = 0 であり、跳びはa = π/2 である。議論を単純にするため、N が偶数の場合だけを扱うことにする(奇数の場合の議論も、全く同様にできる)。このとき、N 次部分和は次のようになる(N は偶数なので、この例では、N 次高調波成分は存在しない)。
ここにx = 0 を代入すると、既述のように
が得られる。次に、
\sin\left(\frac{\pi}{N}\right) + \frac{1}{3} \sin\left(\frac{3\pi}{N}\right)
+ \cdots + \frac{1}{N-1} \sin\left( \frac{(N-1)\pi}{N} \right)
を計算するのだが、この式は、sinc関数 \operatorname{sinc}(x) := \sin(x)/x を用いると、次のように表せる。
S_N f\left(\frac{2\pi}{2N}\right)
= \frac{1}{2} \left[ \frac{2\pi}{N} \operatorname{sinc}\left(\frac{\pi}{N}\right) + \frac{2\pi}{N} \operatorname{sinc}\left(\frac{3\pi}{N}\right) + \cdots
+ \frac{2\pi}{N} \operatorname{sinc}\left( \frac{(N-1)\pi}{N} \right) \right]
右辺の角括弧内の式は、積分 \int_0^\pi \operatorname{sinc}(t)\ dt の数値積分近似である(より正確には、間隔 2π/N による中点法則近似である)。sinc 関数は連続だから、この近似はN \to \infty の時、実際の積分値に近付いていく。従って、次が得られる。
\lim_{N \to \infty} S_N f\left(\frac{2\pi}{2N}\right)
= \frac{1}{2} \int_0^\pi \operatorname{sinc}(t)\ dt
= \frac{\pi}{4} + \frac{\pi}{2}\cdot 0.089490\dots
これは、本セクション冒頭で示された通りのものである。同様の計算で次が得られる。
\lim_{N \to \infty} S_N f\left(-\frac{2\pi}{2N}\right)
= -\frac{1}{2} \int_0^\pi \operatorname{sinc}(t)\ dt = -\frac{\pi}{4} - \frac{\pi}{2} \cdot 0.089490\dots