SHA-1 を実装してみた

某所の例の問題を考えてるときにハッシュ関数アルゴリズムの SHA-1 の中をいじりたくなって、英語版 Wikipedia の SHA-1 の頁を参考にして Ruby で実装してみた。 ほぼ擬似コードのとおりに実装しただけで、効率は考えていない。 class Integer def rotate(r…

hello, world × 3

CodeIQ で出題されていた、'hello, world' を異なる3種のプログラミング言語で出力する問題。 複数のプログラムで共通して使われる文字の種類が少ないほど高評価というもの(大文字と小文字は異なる文字と考える)。 挑戦者求む!hello, world × 3 by @Nabetan…

CodeIQ のジェムストリング問題を解いてみた

CodeIQ の結城浩氏出題のジェムストリング問題(王女様の宝石パターンを見つけよう!)に解答してみた. 解答中にコメントを書くと, それがフィードバックで紹介されてしまうことがあるとは知らなかった. 自分が書いたのは長くて目立つのに, 間違ったところがあ…

水星の近日点移動(8)

前回 の近似解を求めて となるところまで計算した。ところで、前回の (3) のところで変数 ξ を導入したとき ξ≧0 とした。x で考えると、これは x が最大値から最初に 0 になるところまで、およそ4分の1周期しか計算できていないということになる。 (1) の振…

水星の近日点移動(7)

これから水星の軌道を摂動の2次の近似で求めることにする*1。 まず前回の (4) 式 の近似解を求める。(1) を振動子の方程式と見て x を質点の位置、ψ を時間と考えることにする。 ψ=0 で質点の位置が正方向に最大になるように初期条件を選ぶ。 質点が初期位置…

水星の近日点移動(6)

前回までで一応近日点移動の値は求まったのだが、前回の (13) 式 で、 の項を落とすという多少乱暴というか謎な方法を採用していた。 今回はこの項を落とさずに摂動論で近日点移動を求めてみる。式を見やすくするために変数 x, ψ を導入して と変換すると こ…

水星の近日点移動(5)

前回の (1) 式を で割った式 から の項を落とした式を書き換えて まで計算したのだった。 の項を復活させると 見やすくするために として、u を y で書き改めると ここで とした。 で、この形になれば を摂動項と見なせることは明白だ。(3) を振動子の方程式…

∫dx/√{(x-ξ)(x-η)(x-ζ)}

の計算を考える。これは初等関数では表せないが という積分に帰着できる。F(z,k) は第一種楕円積分, K(k) は第一種完全楕円積分と呼ばれる*1。まず (1) で ξ=-1, η=1 とした特別な場合を考える。 調べてみると として、 の零点 1, -1, 1/k, -1/k が、 の零点…

水星の近日点移動(4)

前回 まで計算したのだった。ここで として、r の代わりに u の方程式に直す。 普通の単位に戻すと となって、少し変形して は太陽のシュヴァルツシルト半径。導出は省略するが、これに対応するニュートン力学の式は、 をニュートン力学の力学的エネルギーと…

和算の問題を解いてみる(3)

前回の最後の式 を因数分解すると この方程式の根のうち は の小さいほうの根より大きいから、前回の終わりのところで書いた理由で不適。 z が実数のとき だから、結局 これを解いて z を求めてもいいのだが、大きい円の半径を直接求めたほうが楽だ。大きい…

和算の問題を解いてみる(2)

今回は、あとで思いついたもうひとつの解法。 次の補題を使う。補題) 三角形 ABC で c=AB、内接円の半径を r とすると ほとんど明らかだが、一応証明しておく。 を に代入すればよい■問題を再掲しておく。 補題と記号が被ってるけど大丈夫だろう。問題:図で…

和算の問題を解いてみる(1)

先日某所で見つけたもの。問題:図で正三角形の1辺が1、小さい3個の円が同じ大きさとする。大きい円の半径を求めよ*1。調べてみると、NHKの「おはよう日本」で9日に紹介されたものらしい。 番組紹介を見ると愛媛県太山寺の算額の問題とあるのだが、自分の目…

円盤上の2点間の平均距離

以前、某所で答えた問題。 難しくはないけど、途中の計算が面白い。問題: 単位円盤上に一様かつ独立にランダムな2点を取るとき、2点間の平均距離 はいくらか?シミュレーションしてみると 程度の値になる。 正確な値を計算で求めてみよう。 極座標で2点を と…

水星の近日点移動(3)

水星の質量を m として、 の単位系を使う。 太陽の質量を M として、水星の軌道をシュヴァルツシルト時空 での測地線とする。 は太陽のシュヴァルツシルト半径(普通の単位系では )。ドットを s での微分、 として、前々回の結果から測地線の方程式は で求め…

水星の近日点移動(2)

近日点移動の計算をするとき、教科書ではシュヴァルツシルト(Schwarzschild)時空の計量から始めるのが普通だ。 で、今まで勘違いしていたのだが、アインシュタインの計算もシュヴァルツシルト解を使っていると思っていた。でもよく考えると、一般相対論は191…

素数の因数分解

T_NAKAさんのところにあった問題 6で割って1余る素数の分解 T_NAKAの阿房ブログ/ウェブリブログ を考えてみた。素数 を正整数 で という形に表せという問題。 を 1 の原始3乗根として だから、 を で分解すればいい。まず の場合。 いきなりだが を で計算…

水星の近日点移動(1)

観測される水星の近日点移動に、ニュートン力学によって計算される値から、1世紀に40秒程度のずれがあることは19世紀から知られていた。このずれをアインシュタインが1915年に一般相対論によって説明したのは有名な話。 この計算は昔やったことがあって簡単…

夏希が誕生日から曜日を計算されてたんだけど

日付から曜日を計算する方法。またツェラーの公式(Zeller's congruence)ネタ。前に 健二が日付から曜日を計算してたんだけど で書いたんだけど、もう少し覚えやすい方法を思いついた。月に関するところを変えただけだが。 とりあえず、今回の記事だけ読んで…

電子の異常磁気能率(8)

電磁形状因子の物理的意味を見ておく。 電子の異常磁気能率(4) - 計算用紙 の(6)式の証明と同じ計算で が分かる。これを変形して これを前回の(1)式 に代入すれば 波括弧の中の第1項は荷電スカラー粒子のときにも出てくるのと同じ形のもので、観測される電子…

電子の異常磁気能率(7)

順番が逆だが、今まで飛ばしてきた物理の話に戻る。 電子の磁気能率は頂点関数 に外線の因子を掛けた から求められる。 は の形をしていて、 は について2次以上の項だ。これまでこの を最低次の のオーダーで計算してきたのだった。 はその形から、電子が電…

電子の異常磁気能率(6)

前回 まで計算したのだった。 あとは x の積分を計算すればいい。被積分関数の中の λ は赤外発散の正則化のために入れたもので、最終的に λ→+0 とするのだが、今の場合はここでいきなり(というか最初の最初から) λ=0 としてしまってもいい。 しかし λ→+0 で…

デルタ関数についての定理?

クーロン散乱(5) デルタ関数の2乗 - 計算用紙 で のとき と書いたのだが、T_NAKAさんからトラックバックを頂いた記事 δ関数の性質を考える(1) T_NAKAの阿房ブログ/ウェブリブログ を見ていて、どうもよく理解していないことを書いてしまったことに気がつ…

電子の異常磁気能率(5)

前々回は まで求めたのだった。 これから前回定義した で変形していく。 上式の2項目は、係数は無限大に発散しているが、 に比例した項なので落ちてしまう。 被積分関数の分子の行列を展開すると これの各項をそれぞれ計算する。第1項 ふたつ目の等号のとこ…

電子の異常磁気能率(4)

これから必要になるスピノル関係の公式を証明しておく。まず縮約公式。 (1) は前回示したから (2), (3) を示す。(2) 第2項に (1) を使って (3) 第2項に (2) を使って これから を外線の因子のスピノル で挟んだ を計算することになる。 をいちいち書いてると…

電子の異常磁気能率(3)

前回の最後の式の積分順序を入れ替えると 分母の波括弧の中を k について完全平方する。 途中で であることを使った。これは p, p' が質量殻条件 を満たしていること*1から従う。証明はこの記事の最後で。 の項を落とせば は となる。省略していた を復活さ…

電子の異常磁気能率(2)

前回 まで計算したのだった。なんで の計算をしているのかは後回しにして、計算を続けよう。これからの計算には p, p' の代わりに を使うのが便利だ。p, p' について解くと これを に代入して 分母の一部を変形する。q の成分について2次以上の項は今の計算…

電子の異常磁気能率(1)

電子の異常磁気能率は、1948年、シュウィンガー(Schwinger)によって、微細構造定数 α の最低次で と計算された。この計算をやってみよう。 異常磁気能率とはなんぞやとかファインマン則の説明とかは、教科書かよそのサイトに譲る。 として、計量テンソルは …

非線形振り子

ある計算をしようとしていて、途中で非線形振り子の問題を解く必要が出てきた。 見る人が見ればもとの問題は見当がつくかもしれない。ドットで時間微分を表すとする。 n>2 として、次の微分方程式を考える。 初期条件は t=0 で として、最初に となる時刻を…

13日が金曜日になる確率

初めて聞いたとき意外だったのだが、13日は金曜日になりやすいという話がある。結構有名な話らしくて、結果を載せてるサイトは多いのだが、プログラムで総当りしてるものしか見つからない。手計算でも簡単にできるのでちょっとやってみる。 m を整数、n を正…

健二が日付から曜日を計算してたんだけど

(追記:ほとんど同じだけど、後日書いた記事「夏希が誕生日から曜日を計算されてたんだけど」のほうが少し簡単だから、そちらを読んだほうがいいだろう)映画サマーウォーズの冒頭で、主人公の健二がから曜日を計算するシーンがある。サマーウォーズにはまっ…