平成16年11月6日

[流れ星]

     第145回数学的な応募問題解答NO2

      <解答募集期間:10月10日〜10月31日>
[三角関数と数列

      
NO9「kenji」さん 10月31日 17時04分 受信 11月6日 更新

kenji」さんからのコメント>

sf と名付けた文字式や、行列/ベクタも扱えるコンソール電卓ソフトを開発しました。下にβ版を公開しています。
11 月の始めには、この解答を作るための計算でも使っている、ver1.0 を、公開する予定です。

 http://www.nasuinfo.or.jp/FreeSpace/kenji/sf/sf.htm

sf 自体は大学や実務での理工系の計算を楽にするソフトです。でも高校数学・物理の分野でも有効だと考えています。また高校生以下は無償利用を認めるつもりです。
よろしくお見知りおきください。
 その sf を使った、とにかく実用的に確からしい結論を得ることを目的とする工学的なやり方での解答を送ります。厳密性を追求する数学者からは邪道だと非難されると思います。でも考察の途中段階での発見法的な検討として、sf のようなコンピュータを活用した数値計算は有効だと考えます。問題の式を眺めて唸っているだけでは答えを得られませんから。また、たとえコンピュータ計算だけであっても、実用的な意味での答とできることを主張します。

●問題
  f2=(1+4 cos(π/3)^2)
  f3=(1+4 cos(π/4)^2)
  f4=(1+4 cos(π/5)^2)(1+4 cos(2π/5)^2)
  f5=(1+4 cos(π/6)^2)(1+4 cos(2π/6)^2)
  f6=(1+4 cos(π/7)^2)(1+4 cos(2π/7)^2)(1+4 cos(3π/7)^2)
   ・
で表される <f2,f3,f4,f5,f6, ... > の数列を求めよ

●解答
sf を使って、与式の 50 項までを計算します。sf では下のような式になります。
(この問題の場合は、sf の繰り返し構文を使い、ベクタに複数の計算結果を一括して設定することで複数の計算結果を一括して扱えるようにしています。行列は使っていません。なお sf では、下のようにギリシャ文字も変数に使えます。日常的に使う数式に近い形式で計算式を記述できます。)

//@@
N@=50, Fibonacci=<<2,N,1@n|\
   !prdct(<<1,n/2,1@k|1+4!cos(/(n+1))^2>>)
>>
//@@@
//copy \#####.### temp.se /y
//sf @@temp

計算結果
<            2,            3,            5,            8,           13,           21,           34,           55,           89,
144,          233,          377,          610,          987,         1597,         2584,         4181,         6765,        10946,
17711,        28657,        46368,        75025,       121393,       196418,       317811,       514229,       832040, 1.34627e+006,
2.17831e+006, 3.52458e+006, 5.70289e+006, 9.22747e+006, 1.49304e+007, 2.41578e+007, 3.90882e+007,  6.3246e+007, 1.02334e+008,
1.6558e+008, 2.67914e+008, 4.33494e+008, 7.01409e+008,  1.1349e+009, 1.83631e+009, 2.97122e+009, 4.80753e+009, 7.77874e+009,
1.25863e+010,  2.0365e+010, 3.29513e+010 >

最初の 10 項程度を見れば、Fibonacci 数列であると推測できます。sf での計算結果は、変数 Fibonacci に残してあります。それを shift したものとの間で、下のような演算を行うことで、50 項までは Fibonacci 数列であることを確認できます。

/zs 1e-4, Fibonacci-~shift(Fibonacci,1) - ~shift(Fibonacci,2)
< 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0 >

50 項までの何百もの数値の組み合わせが Fibonacci 数列であることから、与式が Fibonacci 数列であると結論しても、工学的には許されると考えます。たとえ、その証明を書くことができたとしても、証明に誤りが入り込む確率のほうが高いからです。


●与式が Fibonacci 数列である証明の概略

もちろん、証明を提示できれば、与式の確からしさが、より確実になります。その意味で、下に証明の概略を示します。ただし私の考え出した証明ではありません。Google 検索で見つけました。下の掲示板の過去ログにのっていました。証明を提示された方は匿名でした。

http://64.233.183.104/search?q=cache:uU3xXFgCouUJ:science2.2ch.net/test/read.cgi/math/1073918716/l100+%E3%83%95%E3%82%A3%E3%83%9C%E3
%83%8A%E3%83%83%E3%83%81%E6%95%B0%E5%88%97+cos&hl=ja


◇ first step:( ((1+√5)/2)^(n+1) - ((1-√5)/2)^(n+1) )/√5 も Fibonacci 数列である。

厳密な証明も可能ですが、手っ取り早く sf の計算式による例示で済ませます
(http://www.rd.mmtr.or.jp/~bunryu/fibonatti.shtml などに厳密な証明があります)

sf 式::N@=50,Fibonacci'=<<0,N,1@n|( ((1+!sqrt(5))/2)^(n+1) - ((1-!sqrt(5))/2)^(n+1))/!sqrt(5)>>
計算結果::
<            1,            1,            2,            3,            5,            8,           13,           21,           34,
55,           89,          144,          233,          377,          610,          987,         1597,         2584,         4181,
6765,        10946,        17711,        28657,        46368,        75025,       121393,       196418,       317811,       514229,
832040, 1.34627e+006, 2.17831e+006, 3.52458e+006, 5.70289e+006, 9.22747e+006, 1.49304e+007, 2.41578e+007, 3.90882e+007,
6.3246e+007, 1.02334e+008,  1.6558e+008, 2.67914e+008, 4.33494e+008, 7.01409e+008,  1.1349e+009, 1.83631e+009, 2.97122e+009,
4.80753e+009, 7.77874e+009, 1.25863e+010 >

与式と同じ結果であることを確認するための sf 式::Fibonacci' - ~shift(Fibonacci,2)
計算結果::
<                          1,                          1,             -3.87855e-017i,               3.1961e-017i,
8.88178e-016-2.46913e-017i,               1.8312e-017i,             -1.32037e-017i,
 9.32611e-018i,             -6.48433e-018i, 7.10543e-015+4.45282e-018i,  1.42109e-014-1.1011e-017i,              2.04099e-018i,
1.13687e-013+1.68303e-018i, 1.13687e-013+9.09521e-019i, 1.13687e-013-1.76709e-018i,              3.97035e-019i,
1.84206e-019i,               9.09495e-013,               1.81899e-012,               3.63798e-012,               9.09495e-012,
1.10661e-019i,              -4.4452e-020i,               7.27596e-012,               7.27596e-011,             -6.46075e-021i,
1.16415e-010,               1.16415e-010,               3.49246e-010,               3.49246e-010,             -1.09176e-021i,
9.31323e-010,               2.32831e-009,               4.65661e-009,               3.72529e-009,              5.90553e-023i,
1.86265e-008,               2.98023e-008,               1.49012e-008,              9.57339e-024i,             -1.89383e-023i,
2.98023e-007,               4.76837e-007,               5.5885e-024i,               9.53674e-007,               1.19209e-006,
3.29999e-025i,               2.86102e-006,               4.76837e-006,               9.53674e-006 >


◇ second step:与式の積の項:m が偶数のとき、x^m-a^m = Πk=0..m-1 (x - exp(2π i k/m) の 関係式から与式が first step での Fibonacci 数列の一般項と同じであることを証明する。

  x^m-a^m = Πk=0..m-1 (x - exp(2π i k/m) for ∀x,aRealNumber

が成り立ちます。互いに複素共役の関係にある項の積より、cos(π k/(n+1) の項を引っ張り出します。そして x=x+1, a=x-1 と置き換えて下の等式を導きます

  (1+x)^(2m)-(1-x)^(2m) =(4^m)[k=1 to m-1]{1+cos^2(/m)*(x^2-1)} for ∀x ∈ RealNumber

上の等式に x=√5 を代入して、両辺を 4^m=2^(2m) で割れば first step での Fibonacci 項になります。


◇ third step:与式の積の項:m が奇数のときも偶数のときと殆ど同様に証明できます。

<水の流れ:このsf は知っていませんが、いろいろな場面で使用できますね。>

 

   <自宅>  mizuryu@aqua.ocn.ne.jp