- ∫0∞xsinxdx=2π(ディリクレ積分)は絶対収束しない広義積分で、値はパラメータ付き積分と一様収束を使って求まります。
- sinc(ax)=axsin(ax) は「幅 2a の箱型関数のフーリエ変換」です。したがって sinc の積は箱型関数の畳み込みに対応します。
- 畳み込みは確率の言葉で書けます。Xk を区間 [−ak,ak] 上の一様分布とすると
∫0∞∏k=0nakxsin(akx)dx=2a0πPr(∣∑k=1nXk∣≤a0).
- この式から、値が π/(2a0) に等しくなるための必要十分条件は a1+⋯+an≤a0 だと分かります。ak=1/(2k+1) のとき、この条件は 31+51+⋯+151=1.0218…>1 で初めて破れます。だから 7 回続いて 8 回目に崩れます。
- 崩れ方は「はみ出した単体の体積」で正確に測れて、8 番目の積分は π/2 より 2.31×10−11 だけ小さくなります。偶然でも計算誤差でもありません。
次の積分列を考えます。奇数 1,3,5,… で x を割った sinc 関数を、順に掛け足していったものです。
I0I1I2In=∫0∞xsinxdx,=∫0∞xsinx⋅x/3sin(x/3)dx,=∫0∞xsinx⋅x/3sin(x/3)⋅x/5sin(x/5)dx, ⋮=∫0∞k=0∏nx/(2k+1)sin(x/(2k+1))dx.
数値計算をすると、次の表が得られます。最後の列は小数第 10 位まで書いたものです。
| n | 最後に掛けた因子 | In の値 |
|---|
| 0 | — | 1.5707963268=π/2 |
| 1 | sin(x/3)/(x/3) | 1.5707963268=π/2 |
| 2 | sin(x/5)/(x/5) | 1.5707963268=π/2 |
| 3 | sin(x/7)/(x/7) | 1.5707963268=π/2 |
| 4 | sin(x/9)/(x/9) | 1.5707963268=π/2 |
| 5 | sin(x/11)/(x/11) | 1.5707963268=π/2 |
| 6 | sin(x/13)/(x/13) | 1.5707963268=π/2 |
| 7 | sin(x/15)/(x/15) | 1.5707963268=π/2 |
最後の行だけ「=」と書きました。小数第 10 位までは π/2 と一致していますが、実際には
I7=1.5707963267717960…,2π=1.5707963267948966…
で、I7 は π/2 よりおよそ 2.31×10−11 だけ小さいのです。
この差は倍精度浮動小数点数の有効桁(10 進で 16 桁程度)の内側にありますから、原理的には計算機で見えます。にもかかわらず見落とされやすいのは、被積分関数の性質のせいです。∏ksin(x/(2k+1))/∏k(x/(2k+1)) は x が大きいところで ∣x∣−8 程度でしか減衰せず、しかも符号を細かく振動させながら x=∞ まで効きます。台形則やシンプソン則で区間 [0,X] を刻んで足し上げると、打ち切り誤差と丸め誤差がすぐに 10−11 を超えてしまうのです。振動積分に適した方法(周期ごとに区切って交項級数として加速する、あるいは多倍長で計算する)を使って初めて、この差ははっきり見えます。
この現象は D. ボールウェインと J. M. ボールウェインが 2001 年に発表した論文で詳しく調べられ、現在はボールウェイン積分と呼ばれています。単なる数値の偶然ではありません。「なぜ 7 回まで持ちこたえるのか」「なぜ 8 回目で崩れるのか」「崩れ幅がなぜ 2.31×10−11 なのか」のすべてに、きれいな理由があります。
この記事のゴールは、その理由を完全に説明することです。道具は 2 つだけです。ひとつは I0=π/2 というディリクレ積分、もうひとつは「積のフーリエ変換は畳み込み」という関係です。後者を確率の言葉に翻訳すると、崩れる条件が一行で書けてしまいます。
ここから先は Pro プランの内容です。
この章の続き(定義・定理・証明・例・演習)をすべて読むには Pro プランにご登録ください。無料の章は最後まで読めます。
プランを見る
ログイン