分布#
oneMKL RNG ルーチンは、さまざまなタイプの分布を持つ乱数の生成に使用されます。各関数グループは、基礎となる分布タイプ別に以下で紹介されており、その機能の簡単な説明、呼び出しシーケンスの仕様、および入力および出力パラメーターの説明が含まれています。次の表は、乱数生成ルーチンとそのデータタイプおよび出力分布を示し、生成ルーチンのデータタイプと基本乱数生成ルーチンとの対応を示します。
分布のタイプ |
データタイプ |
BRNG データタイプ |
説明 |
|---|---|---|---|
float、double |
float、double |
区間 [ |
|
float、double |
float、double |
正規分布 (ガウス分布) |
|
float、double |
float、double |
正規分布 (ガウス分布) |
|
float、double |
float、double |
指数分布 |
|
float、double |
float、double |
ラプラス分布 (二重指数分布) |
|
float、double |
float、double |
ワイブル分布 |
|
float、double |
float、double |
コーシー分布 |
|
float、double |
float、double |
レイリー分布 |
|
float、double |
float、double |
対数正規分布 |
|
float、double |
float、double |
ガンベル (極値) 分布 |
|
float、double |
float、double |
ガンマ分布 |
|
float、double |
float、double |
ベータ分布 |
|
float、double |
float、double |
カイ二乗分布 |
分布のタイプ |
データタイプ |
BRNG データタイプ |
説明 |
|---|---|---|---|
整数 |
GPU:
CPU: どちらの方法でも double |
区間 [ |
|
整数 |
整数 |
32 ビットのチャンクに均一に分布されたビット |
|
整数 |
整数 |
64 ビットのチャンクに均一に分布されたビット |
|
整数 |
整数 |
基礎となる BRNG 整数シーケンスのビット |
|
整数 |
float |
ベルヌーイ分布 |
|
整数 |
float |
幾何分布 |
|
整数 |
double |
二項分布 |
|
整数 |
double |
超幾何分布 |
|
整数 |
float の場合、 |
ポアソン分布 |
|
整数 |
double |
平均が変化するポアソン分布 |
|
整数 |
double |
負の二項分布、またはパスカル分布 |
|
整数 |
CPU - float、GPU - double |
多項分布 |
注: integer の場合はサポートされているデータタイプの必要な分布を確認します。
乱数の生成モード#
このライブラリーは、正確で高速な 2 つの乱数生成モードを提供します。正確な生成モードは、計算の精度が要求されるアプリケーションを対象としています。このモードで使用すると、生成器は分布パラメーターのすべての値に対して定義領域内に完全に含まれる乱数を生成します。たとえば、区間 [a,b] で均一な連続分布の生成器から取得された乱数は、a と b の値が何であっても、この区間に属します。高速モードでは、高い生成パフォーマンスで、生成された乱数が分布パラメーターの特定の値を除いて定義領域に属することが保証されます。生成モードは、生成器ルーチン内のメソッド・パラメーターの関連する値を指定することによって設定されます。正確な生成モードをサポートする分布リストを以下の表に示します。
分布 |
分布方法 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|