5.9 whrandom -- 擬似乱数生成器

リリース 2.1 で撤廃されました。 random を代りに使ってください。

注意: Python 2.1 以前のリリースでは、このモジュールは random モジュールの実装における一部でした。 現在はもう使われていません。このモジュールを直接使わないで ください; 代わりに random を使ってください。 This module was an implementation detail of the

このモジュールは Wichmann-Hill による擬似乱数生成器クラスを実装します。 このクラスはまた、 whrandom と名づけられています。 whrandom クラスのインスタンスは 節で記述されている乱数生成器インタフェース (Random Number Generator インタフェース) に準拠しています。 このモジュールではまた、Wichmann-Hill アルゴリズムに特有の 以下のメソッドを提供しています:

seed( [x, y, z])
整数 xyz から乱数生成器を初期化します。 このモジュールが最初に取り込まれたときに、乱数は現在の時刻から 取り出された値で初期化されます。 xy、および z が省略されるか 0 の場合、 乱数のシードは現在のシステム時刻から計算されます。引数のうち 3 つ全てではなく、1 または 2 個だけが 0 の場合、ゼロ に鳴っている値は 1 に置き換えられます。このことにより、一見して 異なるシード値が同じ値になってしまい、乱数生成器から生成される 擬似乱数列もこれに対応します。

choice( seq)
空でないシーケンス seq からランダムに要素を選んで返します。

randint( a, b)
a<=N<=b であるような整数の乱数 N を返します。

random( )
範囲 [0.0 ... 1.0) から次の浮動小数点数の乱数 N を返します。

seed( x, y, z)
整数 xyz から乱数生成器を初期化します。 このモジュールが最初にインポートされた際、乱数は現在の時刻から 取り出された値で初期化されます。

uniform( a, b)
a<=N<b であるようなランダムな実数 N を返します。

whrandom モジュールがインポートされた時、whrandom クラスのインスタンスも生成され、このインスタンスのメソッドを モジュールレベルで利用できるようにします。従って、 N = whrandom.random() を以下のコード:

generator = whrandom.whrandom()
N = generator.random()

のように書くこともできます。

乱数生成器の別々のインスタンスを使った場合、擬似乱数の列 は独立になるので注意してください。

参考:

random:モジュール
Generators for various random distributions and documentation for the Random Number Generator interface.

Wichmann, B. A. & Hill, I. D., ``Algorithm AS 183: An efficient and portable pseudo-random number generator'', Applied Statistics 31 (1982) 188-190.

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。