Box-Muller法

No Comments

正規分布を持つような乱数、正規乱数、を生成したかったので、調べてみると、Box Muller法なるものがあるそうな。

以下、Wikipediaより転載

平均μ、分散σ2 の正規分布N(μ, σ2)のような正規乱数を作る場合、まず(0,1]の一様乱数をボックス=ミューラー法(Box-Muller transform)で変換してN(0, 1)の正規乱数を得ることから始める。

一様乱数(0,1]の要素αとβを次の変換を用いて変換する。

  • \sqrt{-2 \cdot ln \alpha} \cdot sin(2 \pi \beta)
  • \sqrt{-2 \cdot ln \alpha}cos(2 \pi \beta)

このようにして二つの相関のないN(0, 1)の正規乱数が得られる。ただしln は自然対数。

この正規乱数にσをかけて、さらにμを加えることで正規分布N(μ, σ2)の正規乱数が得られる。

またこれとは別に、簡単で擬似的な方法として、12個の一様乱数[0,1]の和から6を減ずる方法もよく用いられる。中心極限定理によって、独立した複数の一様乱数の和の分布は正規分布に近づく。さらに、12個の一様乱数[0,1]の和の分散は1となるため、6を減ずるだけで正規分布に近い確率分布が得られ、計算に都合がよい。

近年のパーソナルコンピュータはプロセッサの進歩によって三角関数や対数関数の演算が速くなっているため、1つの正規乱数あたり12回もの一様乱数生成を要するこの方法より、1つの正規乱数あたり1回の一様乱数生成で済むボックス=ミューラー法を用いた方が、一般的によく知られた多くの擬似乱数生成器との組み合わせにおいては高速である。

但し、非常に高速な擬似乱数生成器を用いるならば、中心極限定理を用いた手法はボックス=ミュラー法を用いるよりも十分に高速な正規乱数の生成が可能である。

 

Taylor expansion

No Comments

f(x)=f(a)+\frac{f^{\prime}(a)}{1!}(x-a)+\frac{f^{\prime\prime}(a)}{2!}(x-a)^{2}+\cdots+\frac{f^{n}(a)}{n!}(x-a)^{n}+\cdots

というのが、x = aの周りでのテイラー展開。x = aの周りというのは、aの近くの領域では、この展開が正しいことを意味します。

例えば、

f(x) = e^{x}

(下図青線)に対して、x = 0, x = 1のまわりで2次のテイラー展開をしたものを見てみると、

x = 0の周りで、

f(x) = 1+x+\frac{{x}^{2}}{2}

(下図赤線)

x = 1の周りで、

f(x) = e+e\,\left( x-1\right) +\frac{e\,{\left( x-1\right) }^{2}}{2}

(下図緑線)

 

となって、それぞれ、x=aの周りにおいては良い近似になっていることがわかります。

とる次数を上げていけば精度が上がります。ちなみに、1次までテイラー展開したものから、オイラー法が導かれます。

ルンゲクッタ法は4次のテイラー展開と等しくなるそうな。

Galleryページ

No Comments

写真のページを今まではPicasaで管理していたのだが、フォトログにしようと思って、あらたにブログを立ち上げてみた。

フォトログのテーマは、Photo Biyoriといういいテーマがあったので、アレンジして使わせてもらうことにした。

徐々に昔の写真もアップしていこうと思う。

 

以下、忘れないようにアレンジ履歴。

  • 写真のサイズを800pxに。(CSSの横幅も変更)
  • サムネイルサイズを100pxに。
  • 背景のカラーをwhiteに。
  • ページの下に出てくるthumbnailを左を最新のものに。シングルページで最新ポストを選択したときに表示されるサムネール数も7になるように調整。(function.php)
  • Albumページを降順に。ASC->DESC (in album.php)

 

Older Entries