数学

BigDecimal版sqrtであらかじめMath.sqrtを使う効果

ところで、前回のGauss-Legendre法でBigDecimal版sqrtを使いました。で、この中の処理である程度の精度までをdoubleで求めてるのですが、これの効果がどれだけあるか確認しました。 まず、doubleを使ったsqrtで100桁までの円周率を100回求めると、処理時間は…

ガウス・ルジャンドルの方法での円周率

もう一個だけ、円周率を求めておく 算術幾何平均というのを使う。 これは、a, bについて とすると がnが無限のときanとbnが等しくなるというもの。 で、なんかいろいろ調べてたらどこからひっぱってきたか忘れたのだけど、次のようなプログラムで円周率が出…

BigDecimalで平方根を求めてみる

唐突に平方根を求めてみます。 平方根を求めるときはを求めるとして という方程式の解を求めればいいことになります。 方程式の解はニュートン法で求めます。 http://www.akita-pu.ac.jp/system/elect/comp1/kusakari/japanese/teaching/Programming/2005/no…

さらに円周率を求めてみる

こないだ、積分の練習に円周率を求めてみたんだけど、もうちょっとちゃんと円周率を求めてみる とりあえず、モンテカルロでってことなので、やってみる。 円周率をモンテカルロで求めるときには、ランダムに選んだ点が円に入るかどうかで判定します。 つまり…

フェルマーテストは乱数の性能にあんまり影響されない

試しにフェルマーテストが乱数の質で性能に違いがあるかやってみました。 1千万までの合成数について、何回の判定で合成数と認識されるかというのを、100回やってみました。 1回 - 433428013 2回 - 97607 3回 - 7565 4回 - 2207 5回 - 1160中略213回 - 1 223…