2017年3月13日月曜日

阪大2次試験(2017) 問題(3): その1

いよいよ、この問題の核心である、√7の近似を2/b4でおさえるような有理数近似を見つける作業に入る。具体的には、√7 = a/b + O(2/b4)となるような自然数a,bを見つけることである。

ちなみに、O(n)というのは、n程度の大きさ、ということを意味する数学の記号である。近似理論でよく使われるが、物理の理論は大抵が近似理論なので、よく利用する。テイラー展開なんかも、例えば、Δxの2次で近似する時などは、
f(x+Δx) = f(x)+f'(x)Δx+f''(x)Δx2/2+O(Δx3
などと書いたりする。

問(1)で、a,bの代わりに自然数m,nを使う表現に問題を書き直した。a=2n+m, b=nとすると、問題で与えられた不等式(1)は

|m/n - δ| < 2/n4     (B)

となる。δは、δ=√7 - 2で定義され、

0.645 < δ < 0.646

を満たす。 近似式を利用すると√7 = 2 + (m/n) + O(2/n4)となるので、m/nは√7の小数部分δの有理数近似に対応する。つまり、

δ= m/n + O(2/n4)

ということである。小数部分だから

m < n

という制限がつく。これを満たすm,nを見つけるには、書き換えた不等式(B)をm,nに関する条件式とみなす。このとき、m/n - δ の正負の応じて場合分けして考える。

[1] m/n > δの場合:
 これはよく「上からおさえる近似」と呼ばれる。つまり、近似したい量よりも「上側」つまり大きい量で近似する、というやり方である。絶対値の記号を外すと m/n - δ  <  2/n4 となる。δに関して整理すると m/n - 2/n4 < δ < 0.646となる。不等式の最後は、δの範囲を与える条件式の適用である。0.646を有理数、つまり整数の商の形で表すと 0.646 = 323/500 = 323/(5322)である。両辺に分母にある5322とn4 をかけて、整数の和積の形に書き直すと、不等式(B)は

 (5322 m-323n)n3 < (5・2)3

という不等式に書き換えることができる。ちなみに、右辺をうまい具合に3次式でまとめることができたのは、誤差2/n4の係数2のおかげである。どうしてもっとスッキリした1/n4という形にしなかったのか?という疑問はここで解決される。

さて、このままでは、問題を解く緒は得られないが、3乗の因子が2つ出てきたので、これをまとめてみる。すると

 (5322 m-323n) < (10/n)3                    (B')

となる。この不等式の左辺は自然数の積和(積差)になっているから、当然自然数である。一方、右辺に関してはn>10のとき、1より小さい数になる。1より小さな自然数は存在しないから、このとき上の不等式を満たすn,mは存在しないことになる。したがって、n≦10でなくてはならない!

この方法だと、結構たくさん調べなくてはならないが、「近似」という観点から問題を解いているので、頭で何をやっているのか理解しやすい。AIならば、意味もわからず、すべての組み合わせについて調べ上げるだろう。これがAIと人間の違いである。とはいえ、n≦10の検算に関しては、我々はAIになったつもりで計算しなくてはならない...というか、普通はコンピュータや電卓に頼って計算を進めることになる。

すべての計算を網羅したら飽きてしまうので、ここでは具体例を2、3絞ってやってみよう。

(1) n=2の場合。n=2を(B')式に代入すると、500m - 646 < 125となる。m< nなのでm=1しか選択肢がない。左辺=-146となって条件は満たされない。n=2は除外される。

(2) n=3の場合。m=2,1の2つのケースを試すことができる。(B')式は 500m - 969 < (1000/27)=37.03...となる。m=1の場合は、左辺が負になるからダメ。m=2のときは、1000-969 = 31となり、37より小さい値になる。つまり、この時、条件は満たされる。
a=2×3 + 2 = 8, b= 3、つまり8/3は問(2)の答えであり、√7のよい近似になっている。√7 = 8/3 + O(0.01)である。O(0.01)は、2/34=0.02469...を意味する。

(3) n=4の場合。(B')式は500m - 1292 < (125/8) = 15.6...となる。m=3,2,1が試せるが、n=2,1の場合は左辺は負になるのでダメ。m=3を代入すると1500-1292 = 208となってダメ。

ここまでの検算でわかるのは、右辺の量 (10/n)3  はnが増大するにつれて1に近づく。これは誤差の許容範囲が狭くなるという意味があり、近似の観点からするとよいのだが、あまりに厳しすぎると、この条件をクリアーできる自然数が見つからない、というジレンマが生まれる。上の計算のn=3では右辺が37程度と大きかったのだが、n=4では15程度に半減している。もちろん、n=4の場合は左辺が208ととても大きくなってしまったので、たとえ右辺が37程度であったとしてもダメだったわけだが。

こうなると、負になる場所を見極めておいた方が計算が楽になることが予想される。
500m - 323 n > 0とすると、m/n > 323/500 = 0.646となる。つまり、nの大きさよりも60%以上大きな値をmが取る場合だけが有効なケースである。n>mだから mの最大値はn-1で、これはm/n=(n-1)/nである。したがって、1-(1/n) > 323/ 500を解くと、
n > 500/177= 2.88..となるので、n≧3においてはm=n-1の計算をしても右辺が負になることはない。次に、m=n-2の場合を調べてみよう。n=3,4の場合では左辺は負になってしまった。m/n= (n-2)/n > 323/500を解くと、n> 2(500/177) = 2×2.88 = 5.76となり、6より大きな数でないと負になることがわかった。

m=n-kが左辺の量を正に保つには n> k(500/177) = 2.88kという条件が一般になりたつことがわかる。nが大きくなれば、選択肢が増えて答えがたくさんみつかりそうな気がするが、そうは問屋が卸さない。左辺の量はmの1次関数とみなすことができ、その増加率はmの係数(「傾き」に相当する)500で与えられる。つまり、mが1ずれるごとに、左辺の量は500もずれてしまう。nが大きくなると、逆に右辺は減少して1に近づいていく。つまり、左辺が500も動くのでは、精度が1程度の近似が要求された場合には、2つも3つも適合する自然数が存在するわけがない。つまりチャンスはk=n/2.88で与えられるm=n-k付近の一回ぐらいしかないとみてよい。

いずれにせよ、n=5,6,7,8,9,10の場合を試しても、要求された精度を満たすmは存在しないことが確認できる。したがって、(n,m)=(3,2)だけがこの場合の答えである。

[2] m/n < δの場合: 
 この場合は、(B)式で絶対値の記号を外すと、(2/n4)+(m/n) > δ > 0.645=129/200となる。この式も、分数を消してまとめることにする。今回は

 ( 129n- 200m )n3 < 2452

となってしま、うまい具合に3乗の形で右辺をまとめることが、そのままではできない。[1]m/n<δの場合と同じような形にするには、両辺に22・5をかけるとよい。すると

2580n - 4000m < (20/n)3

という形にすることができる。したがって、今回はn≦20の場合について検算する。数が大きくなって、計算は[1]の場合よりも大変になる。試験場に電卓を持ち込みたくなるだろう。が、我々は試験会場にはいないので、電卓を使って、ちゃちゃっと計算してしまうと、実は条件を満たすm,nの組みは存在しないという結論になる。

以上、[1][2]の結果をまとめると、問(2)の答えは一つだけで、8/3という、案外平凡な答えになる。上で展開した面倒臭い議論なんかすっとばして、直感でやっても辿り着けそうな答えである。どうせなら、123457/ 46663 みたいな、とんでもない大きな素数の商なんかに答えがなっていたら、もっと楽しかったのだが....

この問題を上のようにして解いてみてわかったのだが、有理数近似の精度は2/n4という誤差の形式にもよるが、案外0.645<δ<0.646という、δの範囲の精度にも依ることがわかった。したがって、より精度の高い有理数を探したいとおもったら、この不等式の精度をあげないといけないのだろう。√7=2.64575...だから0.6457<δ<0.6458としたら、どんな有理数で近似できるのだろうか?やってみたら案外面白いかもしれない。

0 件のコメント:

コメントを投稿