タグ

algorithmとProgrammingに関するlove0hateのブックマーク (2)

  • 最小二乗法について

    最小二乗法は計測データの整理に使われる方法である。 n個のデータ(x1,y1),(x2,y2), .......(xn,yn)が得られたとする。 に最もフィットする直線をy=ax+bとすると、 でa,bが求められる。 以下詳しい解説が書いてあります。解説は上から順番に書いてありますが、適当に飛ばし読みしたいときは、以下をクリックしてください 最小二乗法の目的 最小二乗法の考え方 具体的な計算方法 一般的な場合 車が一定速度で動いているとする。それを測定して時間と位置との関係をグラフに表すと となる。 しかし、実際は測定誤差があるので、こんなふうにきれいに並ぶことはない。 こんなふうに並んだものに対して、エイヤっと線を引いてしまうわけである。 そして、この直線の傾きから車の速度を求める。 この、エイヤっと引いた線を、人力ではなく、もうすこしもっともらしく計算で決定しましょうとい

  • Haskellで円周率1億桁を計算する、あるいは円周率計算にHaskellの多倍長整数の改良を見る - 純粋関数空間

    きっかけ http://d.hatena.ne.jp/itchyny/20120304 この記事を見て、私も昔円周率を計算したことがあるのを思い出しました。 http://d.hatena.ne.jp/tanakh/20070506#p1 公式は同じくチュドノフスキーを使用、GHCのIntegerをそのまま用いて円周率を計算、 当時(5年前)のマシン(おそらくCore2あたり)で1億桁が15分ほどだったようです。 SPOJというサイトのコンテスト向けに、 $\sqrt{2}$ 200万桁計算の高速化 をCで書くとこから始めて、 ナイーブ乗算、カラツバ法、そしてFFT乗算の実装にいたり、円周率へ。 最初AGMを実装し、 古くて新しい方法、Arctan系の公式の実装を経て Binary Splitting Methodを知り、 チュドノフスキーの公式へ至りました。 さらにHaskellでの実装

  • 1