NHKのコズミックフロントの「陰陽師安倍晴明」をみて,Pythonによる星座早見プログラムの間違いに気づき,修正しました。

先週放送があったNHKのコズミックフロントの安倍晴明(録画したもの)を見ました。平安時代の陰陽師という職業がどんなものかや,天文観測の方法の復元など興味深い内容でした。中でも,天文現象から時の政治(天皇貴族)への提言(天文上奏)を利用して,藤原兼家が花山天皇を退位させるという陰謀に安倍晴明が一役買っていた(斉藤国治さんの研究か)という話があったので,星座早見プログラムで確かめてみました。ユリウス暦986年7月31日(寛和2年6月22日)に木星(歳星)がてんびん座α星(氐宿距星)に接近(犯)するという現象なのですが,今年3月にバージョンアップしたプログラムでは木星と天秤座が15°くらい離れていて,犯にはなっていません。古いバージョンで試すと,間違いなく「犯」といえる位置に木星と天秤座α星がくっついています。どうも,行列の計算方法を修正したためにおかしくなっていたようです(日食や惑星の位置などの再現には問題なかったのですが,恒星の再現が1000年くらいでずれてくることに,この試行で気づきました)。

プログラムのコードを古いバージョンと比較してみると,星の位置計算でどうも歳差補正の部分が怪しいと考えられ,地軸の変動による行列の回転の計算部分(sin,cos)をもう一度じっくりやり直してみると,sinの公式を間違っていたことに気づきました。プログラミングは一見正常のようにみえても,細かなバグ(プログラムミス)に気づかないことがあるものだと思い知らされました。ついでに,いろいろ試して見ると,月をまたいだ日付の表示なども不具合があったりして修正しました。→ バージョン2.7,実行形式は画面サイズの小さい2.71としました。

12月ははやぶさ2のカプセル帰還があり,21日には木星と土星の最接近(犯)があります。宇宙天文現象は,興味の尽きないものだと改めて思いました。