« ヒガンバナ | トップページ | 休み休み歩け~ »

2014年12月12日 (金)

連分数と閏年

★理科年表2014年版(天文部1ページ)によりますと
1太陽年は365.24219日
です。
こういう有理数を連分数にしたらどうなるでしょう?
πやeの連分数表示を作ったプログラム(Renbunsu.BAS)に365.24219を入れてみました。
n  =365.24219 で実行すると
こうなりますが
365   4   7   1   3   24   6   2   2   560887   1 
せいぜい[365; 4, 7, 1, 3, 24]くらいまでしか意味はないでしょう。
Uru1
こうですね。

プログラムはさらに各段階の分数を計算して表示します。
365 / 1 = 365
1461 / 4 = 365.25
10592 / 29 = 365.241379310345
12053 / 33 = 365.242424242424
46751 / 128 = 365.2421875
1134077 / 3105 = 365.242190016103

これを手計算でちょっと変形すると
365 / 1                                       = 365
1461 / 4            = 365+1/4          = 365.25
10592 / 29         = 365+7/29        = 365.241379310345
12053 / 33         = 365+8/33        = 365.242424242424
46751 / 128       = 365+31/128     = 365.2421875
1134077 / 3105  = 365+752/3105 = 365.242190016103

こうですね。
2行目が「4年に1回の閏年」を入れたときの近似値になります。

連分数の分母に「24」という大きな値が現れていますので、その一つ手前でとめて作った連分数近似は精度が高いのでした。{πのところでご紹介しました。}
Uru2
46751 / 128        = 365+31/128   = 365.2421875
これですね。
4年に1回閏年を入れますと、128年で32回の閏年になりますが、これを1回省いて31回の閏年にすると、近似の精度が非常に高いわけです。
もちろん3105年に752回だっていいですけど、スパンが長すぎてこれはうまくいきそうにない。
4で割り切れる年は閏年、ただし128で割り切れる場合は平年
これなら「1世紀」程度のスパンですから、人間の時間感覚でも把握しやすいのではないでしょうか。

★いろいろ調べてみました。

★ウィキから
http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4

閏年
・・・
グレゴリオ暦
ローマ教皇・グレゴリウス13世は、当時を代表する学者たちを招集して委員会を作り、暦の研究を行わせた。こうして1582年、グレゴリオ暦が制定された。グレゴリオ暦はその後数百年かけて各国で採用され、現在に至っている。
グレゴリオ暦では、次の規則に従って400年間に(100回ではなく)97回の閏年を設ける。
    西暦年が4で割り切れる年は閏年
    ただし、西暦年が100で割り切れる年は平年
    ただし、西暦年が400で割り切れる年は閏年
この規則によって閏年を設けると、400年間における平均1暦年は、365+97/400=365.2425日(365日5時間49分12秒ちょうど)となり、暦と季節とのずれは約3320年で1日となる。
・・・

これが現行の通常ルール。

★「連分数のふしぎ」木村俊一、ブルーバックス B1770
p.60から引用

365+8/33
これは1079年にセルジュク朝ペルシャの数学者(かつ詩人)オマル・ハイヤームが作成したペルシア暦(ジャラリー暦)で使われた。33年に8回閏年、という暦で(仕組みは複雑)、1年を365.242424…とみなすので、誤差が1年あたり0.00024日以下で、現行の西暦であるグレゴリオ暦よりも正確な暦が、グレゴリオ暦採用の500年以上も前から使われていたことになる。

365+31/128
この暦を実現するには、ユリウス暦の4年に1回=128年に32回の閏年を、128年に1回だけ省略すればよい。そこで「4で割り切れる年は閏年、ただし、128で割り切れる年は平年」というルールにすれば、1年あたりの誤差が0.0000025日、つまり40万年で1日ずれる、という超高精度の暦が簡単に作れてしまう。・・・
 この「128年に31回の閏年」という仕組みは現在のイラン暦で採用されているらしい。ただ、「128で割り切れる年は平年」みたいな簡単なルールではなく、太陽の天球上の運行に従って精密に仕組みが決められているようだ。

そうでしたか。
世界にはいろんな暦があるものですね。

★実はですね
http://ja.wikipedia.org/wiki/%E5%A4%AA%E9%99%BD%E5%B9%B4

平均太陽年(回帰年)の長さは一定ではなく、少しずつ短くなっている。
    1900年1月0日12時(世界時)の値・・・365日5時間48分45.9747秒 = 31 556 925.9747秒      =   365.242 198 781 25日
    2000年1月0日12時(世界時)の値・・・365日5時間48分45.4441秒 = 31 556 925.4441秒      = 約365.242 192 640 日
    2008年年央値(天文年鑑2008による)・・・365日5時間48分45.205秒 = 31 556 925.205秒    = 約365.242 189 87 日
    2013年年央値(天文年鑑2013[1]による)・・・365日5時間48分45.179秒 = 31 556 925.179秒 = 約365.242 189 57日

太陽年と太陽暦
 太陽暦の1年は太陽年にあわせて定められている。400年間に97回の閏日を設けるように決められたグレゴリオ暦の1年間は平均して正確に365.2425日=正確に365日5時間49分12秒 = 正確に31 556 952秒であり、2013年の太陽年に比べて約26.821秒長い。このため2013年を基準にすると、3,221年後の西暦5234年にはそのずれは1日に達する。そのころにはグレゴリオ暦で定められた閏日を省くことが必要になる。若しくはグレゴリオ暦が定められた1582年を基準にして、それから約3,200年後の西暦4782年頃に閏日を省くことになるかもしれない。
 ただし、平均太陽年は前述のように、100年につき、0.532秒ほど短くなっているので、実際にはもっと早い時点で、1日の誤差が生じると考えられる。

あまり長いスパンで正確さを誇ってみても意味がないようなんですね。
とんでもなく先の未来、ではない時点で「閏年は5年に1回」でよくなってしまうかもしれないのです。
ですから、まあグレゴリオ暦を当分使っていればいいのです。
グレゴリオ暦の誤差が問題になる前に、太陽年が変わってしまうかもしれないし、なによりも人類が滅亡していなければの話ですからね。危ない気がするんだよなぁ、個人的には。

★さて、連分数ではなく、近似分数を強引に作っちゃえ、というのもやりました。
「e_kinjibunsu.BAS」という名で保存してありました。
誤差を甘々にして
D =0.01 で実行したものの、初めの方だけお示ししますと

1461 / 4 = 365.25
6209 / 17 = 365.235294117647
7670 / 21 = 365.238095238095
9131 / 25 = 365.24
10592 / 29 = 365.241379310345
10957 / 30 = 365.233333333333
12053 / 33 = 365.242424242424

「4年に1回」「33年に8回」も出てきました。もちろんずっと先の方に「128年に31回」も出てきます。

条件をきつくして
D = 0.0001で分母200までしらべたら

34698 / 95 = 365.242105263158
46751 / 128 = 365.2421875
58804 / 161 = 365.242236024845
70857 / 194 = 365.242268041237
この4つができました。
「128年に31回」というのはやはり分母の大きさの割に非常に精度が高いことがわかります。

★というわけで、いっぱい遊べました。
遊びって楽しいですね。

« ヒガンバナ | トップページ | 休み休み歩け~ »

理科おじさん」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ヒガンバナ | トップページ | 休み休み歩け~ »

2021年5月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
サイト内検索
ココログ最強検索 by 暴想
無料ブログはココログ