2006-01-01から1年間の記事一覧

東京

刈谷 6:20 〜 7:07 豊橋 豊橋 7:23 〜 8:00 浜松 浜松 8:17 〜 10:49 熱海 熱海 11:00 〜 12:07 横浜 横浜 12:12 〜 12:38 渋谷 東急東横線 渋谷 12:43 〜 12:58 池袋 山手線 池袋 15:23 〜 16:33 平塚 湘南新宿ライン 7分遅れ 平塚 16:44 〜 17:33 熱海 熱…

JScript高速化(10)

ここからは個別に高速化していこうと思う。 あまり一般的な手法は得られない気がする。 add // 加算 this.add = function(p) { var r = this.copy(); if(typeof p == "number") r.a[0] += p; else if(p instanceof poly) { for(var i = 0; i if(i r.a[i] += …

トヨタ、いすゞのエンジン搭載

中日新聞は後追い?第1弾は1.7。

いすゞに中小型車向けエンジン求める

http://www.asahi.com/business/update/1109/044.html 1.4、3は自主開発 2、4はいすゞが開発 これ、ホントなの?

東京

刈谷 10:46 〜 11:18 豊橋 豊橋 11:27 〜 13:16 用宗 用宗 13:17 〜 14:04 静岡 徒歩 静岡 14:47 〜 16:10 熱海 熱海 16:15 〜 16:36 小田原 小田原 16:47 〜 18:11 新宿 小田急 新宿 18:20 〜 18:25 池袋 埼京線 池袋 23:09 〜 23:16 新宿 埼京線 新宿 23:4…

いすゞと提携

http://www.asahi.com/business/reuters/RTR200611080005.html いすゞが小型ディーゼルを開発。 アレはなくなるってこと?

JScript高速化(9)

まとめの後半。 6. 組込みオブジェクトを拡張すると速くなることがある Array.prototype.copy = poly_copy;function poly_copy(p) { ... }このようにすると、Arrayにcopyメソッドが追加される。 ユーザ定義型より組込み型のほうが速いときは、 こうすると速…

JScript高速化(8)

ここでいったんまとめを。 Arrayオブジェクトの拡張というのはちょっと気持ち悪いから、 本当は継承できたらいいのだが、 どうもうまくいかないし、 できても遅そうなので追究はしない。 まとめ 1. Arrayのpushは使うな 2. Arrayのコンストラクタは[ ]を使う…

JScript高速化(7)

r[i] = this[i];はエラーだったが、 そういえば、これをやっていなかったような気もする。 var a = this; r[i] = a[i];あ、動くね。 やったと思っていたのに。 function poly_copy() { var r = new poly(); var a = this; for(var i = this.length - 1; i >=…

大阪

刈谷 9:56 〜 11:20 米原 米原 11:23 〜 12:43 大阪 大阪 12:57 〜 13:05 弁天町 大阪環状線 弁天町 13:11 〜 13:19 コスモスクエア 地下鉄中央線 コスモスクエア 16:08 〜 16:16 弁天町 地下鉄中央線 弁天町 16:20 〜 16:28 大阪 大阪環状線 大阪 16:30 〜 …

東京

刈谷 7:21 〜 7:53 豊橋 豊橋 8:09 〜 8:40 浜松 浜松 8:47 〜 11:24 熱海 熱海 11:32 〜 11:53 小田原 小田原 12:00 〜 13:17 池袋 湘南新宿ライン 池袋 15:53 〜 17:13 小田原 湘南新宿ライン 小田原 17:25 〜 17:48 熱海 熱海 17:52 〜 21:25 豊橋 豊橋 2…

JScript高速化(6)

prototype 昨日のはメソッドを書いていなかったから、 それを書き足すと、 // 5027ms function poly(a) { ... this.copy = poly_copy; this.add = poly_add; this.subtract = poly_subtract; this.multiply = poly_multiply; this.value = poly_value; this.…

JScript高速化(5)

前回は、 単純なオブジェクトの生成と polyオブジェクトの生成との間に大きな差があることが分かった。 この差はなんなのかつきつめていこう。 そのために、単純なオブジェクトから少しずつプロパティを追加していく。 // 1597ms function poly() { this.a =…

JScript高速化(4)

new 前回、コンストラクタのコストが高いことが分かったので、 これをどうにかしよう。 まず、最小のユーザ定義オブジェクトの生成を見てみよう。 function poly() { ; }この生成を10万回実行する。 // 642ms for(var i = 0; i new poly(); // 33ms for(var …

JScript高速化(3)

具体的な問題に入っていこう。 copy var p = new poly([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]); for(var i = 0; i var r = p.copy();を速くすることを考えよう。 ここで、polyの係数はfractionでなく値とする。 copyは、 function poly() { var args = poly.argu…

JScript高速化(2)

もっとまじめに考えよう。 プロパティへの代入ってどうなんだろう。 こんなコードを考えてみよう。 var n = 100000;// 509ms var a = [ ]; for(var i = 0; i for(var j = 0; j a[j] = j; } // 203ms var a = [ ]; for(var i = 0; i for(var j = 0; j ; }つま…

東京

知立 5:55 〜 6:34 豊橋 名鉄本線 豊橋 6:51 〜 8:10 島田 島田 8:16 〜 10:07 熱海 熱海 10:14 〜 11:01 平塚 平塚 11:05 〜 11:56 品川 品川 11:57 〜 12:00 田町 京浜東北線 田町 14:28 〜 14:31 品川 山手線 品川 14:41 〜 16:07 熱海 熱海 16:16 〜 17:…

JScript高速化(1)

多項式クラスを速くしたいが、 そのために基礎的な実験をしておこう。 push Arrayのpushを派手に使っている。 使い勝手や見栄えがいいのでついつい使っているが、 これはたぶん遅い。 Arrayオブジェクトを作って0〜9を代入することを考える。 これを10万回実…

大きな文字列が猛烈に遅い(3)

大きな文字列の結合が遅いことを以前示したが、 その際、結果の文字列の長さが効くのか、 連結前の文字列の長さが効くのかを調べるのを忘れていた。 次のようなコードで試してみた。 for(var i = 1000; i var i1, i2; for(var i1 = i >> 1; i1 > 100; i1 >>=…

正規分布の近似(14)

結局、分数クラスを作った。 思っていたほどは苦労しなかったが、 やはりデバッグがいやな作業だった。 p10,0 = 1/362880x^9 p10,1 = 1/36288-1/4032x+1/1008x^2-1/432x^3+1/288x^4-1/288x^5+1/432x^6-1/1008x^7+1/4032x^8-1/40320x^9 p10,2 = -329/5184+115…

お引っ越し

1ヶ月前だったか、少し席が移動になった。 そのため、というわけではないが、机が1つ増えた。 キャビネももらえた。 キャビネはともかく、あまり広いスペースはいらないのだが、 本を置ける場所はほしかった。 ここは、これが当たり前で、人口密度が非常に低…

正規分布の近似(14)

例えば、0.2142857142857という小数を考える。 この逆数を取ると、4.6666666666667、 小数部分を取ると、0.6666666666667、 この逆数を取ると、1.5、 小数部分を取ると、0.5、 この逆数を取ると、2、 小数部分を取ると、0 この手順を逆に辿っていくと分数に…

正規分布の近似(13)

そういえば忘れていたが、 求めた多項式を具体的に表示していなかった。 p10,0 = 0.0000027557319223985892x^9 p10,1 = 0.00002755731922398474-0.0002480158730158727x+0.0009920634920634933x^2-0.002314814814814814x^3+0.0034722222222222194x^4-0.00347…

やはり

「金の切れ目が縁の切れ目」 らしい。

正規分布の近似(12)

多項式のライブラリを書けばあとは簡単。 var n = 10; var p = [ ]; p[1] = [ ]; p[1][0] = new poly(1); for(var i = 2; i p[i] = [ ]; for(var j = 0; j if(j == 0) p[i][j] = p[i-1][0].integral( 0, new poly(0, 1)); else if(j == i - 1) p[i][j] = p[i…

正規分布の近似(11)

積分を含んだ多項式の漸化式を計算するためのプログラムを書く準備をする。 プログラムはお手軽にJavaScriptで書く。 要するにここでは、多項式のユーザ定義オブジェクトのコードを書く。 プロパティ 多項式の係数を配列として持つ。 function poly() { this…

正規分布の近似(10)

ここではp10(x)を求めることを目指す。 まず、p2を求めよう。 p(x-t)が非零になるのは、0

正規分布の近似(9)

さいころを10回振って足し合わせると正規分布に近くなる、 と前に書いたが、 ここでは一様分布を10個足し合わせると正規分布に近くなることを見た。 ところで、一様分布を足すというのはどういうことだろう。 ここでは一様分布p(x)は、0〜1の値を一様に出す…

正規分布の近似(8)

正規分布に従う乱数としては、 Box-Muller transformというものが知られており、 これは、2つの0から1の一様乱数をr1, r2とすると、 で2つ与えられる。 これをいつものように1億回繰り返したのと、 前回のとかかった時間を比べると、 前回:20.8s 今回:22.1…

正規分布の近似(7)

ピーク値を正規分布と同じにしたが、 それも特に根拠がないので、 適当に振ってみた。 aを振って、bを を満たすように変えて、 いつものように分布を得た。 a = 13のとき、かなりよくなった。3σでも97.5%というのは、 かなりいい近似ではないだろうか。