グラフ作成ツール「gnuplot」を用いて、
フーリエ級数展開(Fourier series expansion)をグラフに描いてみた。
一般に、周期2Lの関数f(x)のフーリエ級数展開及び、
そのフーリエ係数an、bnは、
で表される。いずれの関数のグラフも
赤
→緑
→青
→紫
→水色
→茶色
の順に近似の精度が高くなっている事が理解できるだろう。
これらのグラフからは、フーリエ級数展開が垂直方向への補正による、
「vertical」な近似であるという印象を受ける。
また、フーリエ級数展開の式の両辺にf(x)を掛けて、
閉区間[-L, L]で積分し、右辺の各項に
L×1/Lを掛けるという式変形を行うと、
となる。ここで、中括弧で囲った部分をそれぞれ、
フーリエ係数と比較すると、順に
a0, an, bn
で表せることを用いた。
両辺に1/Lを掛けて書き直すと、
という関係が成立する。これをパーセバル(Parseval)の等式と呼ぶ。
ここで、今回の目的である、リーマンのゼータ関数
(Riemann's zeta function):ζ(s)や
ディリクレのイータ関数(Dirichlet's eta function):η(s)等に関しても、
予め先に定義しておくことにしよう。
奇数項のみのゼータ関数と、その交代級数に関しては、
定義に用いるアルファベット記号は、特に決められていない所為か、
テキストによって記号が異なるが、他のギリシャ文字のアルファベットを
自身の名前に冠する特殊関数と、重複しさえしなければ、自由に決めて構わないだろう。
ここでは、奇数項のみのゼータ関数をλ(s)で、
その交代級数をε(s)で定義することにした。
※単に、奇数ゼータと書くと、sが奇数のゼータ関数の特殊値ζ(2n-1)と
紛らわしい為、λ(s)は、「奇数項のみのゼータ関数」と表現した。
また、ζ(s)、η(s)、λ(s)の間には、
以下のような関係がある。
ζ(s)とη(s)の差から、
η(s)は、ζ(s)を用いて表すことができるし、
ζ(s)とη(s)の和から、
λ(s)も、ζ(s)を用いて表すことができる。
テキストによっては、矩形波以外に、方形波と書いてあったり、
階段関数を符号関数sgnxと記しているものもある。
階段関数は、符号関数を定数倍したり、平行移動したものであり、
即ち、符号関数は、階段関数の一種であるといえる。
ここでは、階段関数として、次式の様な符号関数f(x)=sgnxを考えることにしよう。
f(x)は奇関数なので、an=0となって、フーリエ正弦級数の式が適用できる。
従って、L=1のときのf(x)のフーリエ級数展開は次式で表される。
上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png set xrange[-3:3] set yrange[-3:3] set xtics 0.5 set ytics 0.5 set grid fosfn1(x)=sin(pi*x) fosfn2(x)=fosfn1(x)+sin(3*pi*x)/3 fosfn3(x)=fosfn2(x)+sin(5*pi*x)/5 fosfn4(x)=fosfn3(x)+sin(7*pi*x)/7 fosfn5(x)=fosfn4(x)+sin(9*pi*x)/9 fosfn6(x)=fosfn5(x)+sin(11*pi*x)/11 plot 4/pi*fosfn1(x) title "n=1" replot 4/pi*fosfn2(x) title "n=2" replot 4/pi*fosfn3(x) title "n=3" replot 4/pi*fosfn4(x) title "n=4" replot 4/pi*fosfn5(x) title "n=5" set output 'c:\temp\fourierofstepfunc.png' replot 4/pi*fosfn6(x) title "n=6" exit |
これは矩形波(Square wave)或いは方形波と呼ばれ、
クラリネット等の音を近似する(「オイラーの贈物」308頁、「虚数の情緒」805頁)。
この場合、山と谷の大きさは一対一だが、この比率を変えたものをパルス波(Pulse wave)と呼び、
トランペットやオーボエ等の音色はこちらで近似される(「オイラーの贈物」308頁)。
また、ここでx=1/2とすると、
となる。これは、上記のε(s)で、s=1の場合に相当し、
グレゴリー(Gregory)級数、ライプニッツ(Leibniz)級数、
或いはマーダヴァの級数と呼ばれている。
さらに、パーセバルの等式を用いると、
が成立し、ここでL=1とすると、
であるから、上記のλ(s)で、s=2の場合に相当し、
を得る。
f(x)=x (-L < x < L)
f(x)は奇関数なので、an=0となって、フーリエ正弦級数の式が適用できる。
従って、L=1のときのf(x)=xのフーリエ級数展開は次式で表される。
上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png set xrange[-3:3] set yrange[-3:3] set xtics 0.5 set ytics 0.5 set grid fox1n1(x)=sin(pi*x) fox1n2(x)=fox1n1(x)-sin(2*pi*x)/2 fox1n3(x)=fox1n2(x)+sin(3*pi*x)/3 fox1n4(x)=fox1n3(x)-sin(4*pi*x)/4 fox1n5(x)=fox1n4(x)+sin(5*pi*x)/5 fox1n6(x)=fox1n5(x)-sin(6*pi*x)/6 plot 2/pi*fox1n1(x) title "n=1" replot 2/pi*fox1n2(x) title "n=2" replot 2/pi*fox1n3(x) title "n=3" replot 2/pi*fox1n4(x) title "n=4" replot 2/pi*fox1n5(x) title "n=5" set output 'c:\temp\fourierofx1.png' replot 2/pi*fox1n6(x) title "n=6" exit |
これは鋸歯状波(Sawtooth wave)或いは単にノコギリ波(Saw wave)と呼ばれ、
チェロやバイオリン等の音を近似する(「オイラーの贈物」308頁、「虚数の情緒」805頁)。
また、ここでx=1/2とすると、
となって、やはりグレゴリー(Gregory)級数、ライプニッツ(Leibniz)級数、
或いはマーダヴァの級数と呼ばれている公式
導かれる(再掲)。
さらに、パーセバルの等式を用いると、
が成立し、ここでL=1とすると、
であるから、ゼータ関数:ζ(s)で、s=2とした場合に相当し、
という式が得られる。
f(x)=|x| (-L < x < L)
f(x)は偶関数なので、bn=0となって、フーリエ余弦級数の式が適用できる。
また、n=0のとき、
従って、L=1のときのf(x)=|x|のフーリエ級数展開は次式で表される。
上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png set xrange[-3:3] set yrange[-3:3] set xtics 0.5 set ytics 0.5 set grid foaxn1(x)=cos(1*pi*x)/1**2 foaxn2(x)=foaxn1(x)+cos(3*pi*x)/3**2 foaxn3(x)=foaxn2(x)+cos(5*pi*x)/5**2 foaxn4(x)=foaxn3(x)+cos(7*pi*x)/7**2 foaxn5(x)=foaxn4(x)+cos(9*pi*x)/9**2 plot 1.0/2 title "n=0" replot 1.0/2-4/pi**2*foaxn1(x) title "n=1" replot 1.0/2-4/pi**2*foaxn2(x) title "n=2" replot 1.0/2-4/pi**2*foaxn3(x) title "n=3" replot 1.0/2-4/pi**2*foaxn4(x) title "n=4" set output 'c:\temp\fourierofabsx.png' replot 1.0/2-4/pi**2*foaxn5(x) title "n=5" exit |
これは三角波(Triangle wave)と呼ばれ、口笛やフルート等の音色を近似する(「オイラーの贈物」308頁)。
※一方、「虚数の情緒」805頁には、「三角波はトランペットやオーボエの音を近似している」とも書かれている。
また、ここでx=0及び、x=1とすると、
となるから、
が導かれる(再掲)。
さらに、パーセバルの等式を用いると、
が成立し、ここでL=1とすると、
であるから、
を得る。
f(x)=x2 (-L < x < L)
f(x)は偶関数なので、bn=0となって、フーリエ余弦級数の式が適用できる。
また、n=0のとき、
従って、L=1のときのf(x)=x2のフーリエ級数展開は次式で表される。
上記の結果をグラフ作成ツール「gnuplot」を用いて、グラフ化する。
「gnuplot」を起動して、以下のコマンドを入力し、グラフを生成する。
(勿論、出力先のディレクトリは、各自の環境に応じて適宜変更する。)
set terminal png set xrange[-3:3] set yrange[-3:3] set xtics 0.5 set ytics 0.5 set grid fox2n1(x)=cos(1*pi*x)/1**2 fox2n2(x)=fox2n1(x)-cos(2*pi*x)/2**2 fox2n3(x)=fox2n2(x)+cos(3*pi*x)/3**2 fox2n4(x)=fox2n3(x)-cos(4*pi*x)/4**2 fox2n5(x)=fox2n4(x)+cos(5*pi*x)/5**2 plot 1.0/3 title "n=0" replot 1.0/3-4/pi**2*fox2n1(x) title "n=1" replot 1.0/3-4/pi**2*fox2n2(x) title "n=2" replot 1.0/3-4/pi**2*fox2n3(x) title "n=3" replot 1.0/3-4/pi**2*fox2n4(x) title "n=4" set output 'c:\temp\fourierofx2.png' replot 1.0/3-4/pi**2*fox2n5(x) title "n=5" exit |
さらに、パーセバルの等式を用いると、
が成立し、ここでL=1とすると、
であるから、ゼータ関数:ζ(s)で、s=4とした場合に相当し、
という式が得られる。
f(x)=x3 (-L < x < L)
f(x)は奇関数なので、an=0となって、フーリエ正弦級数の式が適用できる。
従って、L=1のときのf(x)=x3のフーリエ級数展開は次式で表される。
また、ここでx=1/2とすると、
であるから、上記のε(s)で、s=3の場合に相当し、
を得る。
続いて、パーセバルの等式より、
であるから、ゼータ関数:ζ(s)で、s=6の場合の特殊値:
を得る。
f(x)=x4 (-L < x < L)
f(x)は偶関数なので、bn=0となって、フーリエ余弦級数の式が適用できる。
また、n=0のとき、
従って、L=1のときのf(x)=x4のフーリエ級数展開は次式で表される。
ここで、x=0のとき、
であるから、イータ関数:η(s)で、s=4とした場合に相当し、
という式が得られる。また、x=1のとき、
であるから、ゼータ関数:ζ(s)で、s=4とした場合、即ち、
が導かれる(再掲)。
続いて、パーセバルの等式より、
であるから、ゼータ関数:ζ(s)で、s=8の場合の特殊値:
を得る。
f(x) | x=0のとき | x=1/2のとき | x=1のとき | パーセバル (Parseval)の等式 |
---|---|---|---|---|
sgnx(矩形波) | ε(1)=π/4 | λ(2)=π2/8 | ||
x(鋸歯状波) | ε(1)=π/4 | ζ(2)=π2/6 | ||
|x|(三角波) | λ(2)=π2/8 | λ(2)=π2/8 | λ(4)=π4/96 | |
x2 | η(2)=π2/12 | ζ(2)=π2/6 | ζ(4)=π4/90 | |
x3 | ε(3)=π3/32 | ζ(6)=π6/945 | ||
x4 | η(4)=7π4/720 | ζ(4)=π4/90 | ζ(8)=π8/9450 |
|
|