2008-05-01から1ヶ月間の記事一覧

六面体の頂点をたどる(8)

時間tのときの、六面体のどの点をすでに通ったかという状態の確率を求めるのに、漸化式を導出してそれを解くために固有値を求めて、それに対応する固有ベクトルを求めようとしているのだった。 今回は、そのうち、有理数の固有値に対応する固有ベクトルを求…

第36回刈谷市かきつばたマラソン大会(4)

結果から、参加者がどこから来ているのか調べてみた。 5kmと10kmの参加者813人である。 刈谷市181人 豊田市99人 安城市84人 名古屋市70人 岡崎市66人 大府市36人 知立市36人 碧南市32人 東浦町25人 豊明市24人 高浜市17人 幸田町 16人 西尾市 9人 東海市 9人…

第36回刈谷市かきつばたマラソン大会(3)

ひざもだいぶよくなって、日常生活にはほとんど問題なくなった。 受付をすませてから、安全ピンでナンバーカードをシャツにつける。これ苦手。しかも今回は2枚ある。なぜ2枚あったのか、よくわからなかった。間違えて後ろにつけると誘導できないからだろうか…

第36回刈谷市かきつばたマラソン大会(2)

早くも結果が上がっていた。 http://www.city.kariya.lg.jp/hp/page000002100/hpg000002038.htm この大会はほとんど宣伝されていない。うちには届かない市報と、あといちおうネット上で紹介されるが、RUNNETによる受付はない。申込むには、直接ウィングアリ…

第36回刈谷市かきつばたマラソン大会(1)

とにかく、状態が悪かった。昨日の夜突然腹が痛くなった。今朝はあまり食事が取れなかった。水もほとんど飲めなかった。ひざも不安なのでほとんど走れていない。 それでもベストタイムだけは狙っていたが、距離が非常にあやしかった。最初の1kmが3分49秒、次…

GPGPUで多倍長整数計算(5)

開平(1) 開平の方法はたぶん中学で習ったと思うが、割り算と似たようなやり方がある。あれをコード化するとこんな感じだろうか。 #include using namespace std;void sqrt(int a, int& b, int& c); int get_bit_num(int a);int main() { for(int i = 0; i …

GPGPUで多倍長整数計算(4)

10進変換(4) 前回、ある程度小さい数を10進数にして、それを自乗していくという方法を考えた。今回は、その自乗をGPUで行う。 多倍長整数の乗算は、多項式の乗算と同じようなものだから、1ピクセル(一つの項)ごとに大量の乗算・加算をする。だからGPUで…

六面体の頂点をたどる(7)

固有値が求まらなかったので、数値的に求める。 ニュートン法でやってみた。 Array.prototype.value = function(x) { var v = this[this.length-1]; for(var i = this.length - 2; i >= 0; i--) v = v * x + this[i]; return v; }Array.prototype.differenti…

六面体の頂点をたどる(6)

六面体で同じように行列を作る。 ここで、行列の各成分を3倍すれば整数化できるので、その行列の固有値を考える。 この固有方程式は、 |A - λE| = 15120λ3+10080λ4-137484λ5-8916λ6+477972λ7 -192860λ8-753221λ9+591113λ10+497726λ11-643343λ12 -78020λ13+33…

GPGPUで多倍長整数計算(3)

10進変換(3) 前回、16ビットずつ掛け算していったが、2100000 = (250000)2だから、250000を計算してそれを自乗したほうが速いような気がする。さらに、250000も同様に。 実際に組んでみたら、倍くらいの時間がかかるようになった。 ただし、この掛け算はGP…

六面体の頂点をたどる(5)

前に出てきた漸化式を解く問題は、単なる固有値問題である。 例えば、元の四面体の問題は、 だから、 の固有値を求めればよい。 を解いて、 それぞれに横ベクトルをかけて0ベクトルになる固有ベクトルは、 ( 1 0 0 ), ( 2 1 0 ), ( 1 1 1 ) だから、 につい…