multinomial#
多項分布の乱数を生成します。
説明#
multinomial クラス・オブジェクトは、generate 関数で使用され、ntrial 回の独立試行と k 個の可能な相互に排他的な結果、および対応する確率 \(p_i\) を持つ多項式分布の乱数を提供します。ここで、\(p_i \in R; 0 \leq p_i \leq 1; m, n \in N\) です。
確率分布は次のように表されます。
製品および性能に関する情報 |
|---|
性能は、使用状況、構成、、およびその他の要因によって異なります。詳細は、https://www.intel.com/PerformanceIndex (英語) を参照してください。改訂 #20201201 |
API#
構文#
namespace oneapi::mkl::rng {
template<typename IntType = std::int32_t,
typename Method = multinomial_method::by_default>
class multinomial {
public:
using method_type = Method;
using result_type = IntType;
explicit multinomial(double ntrial, std::vector<double> p); // oneMKL 2023.0 以降は非推奨
explicit multinomial(double ntrial, sycl::span<double> p);
explicit multinomial(const param_type& pt);
std::int32_t ntrial() const;
std::vector<double> p() const;
param_type param() const;
void param(const param_type& pt);
};
}サポートされるデバイス: CPU および GPU
注
この分布は、条件 \((k \geq ntrial * 16 \land ntrial \leq 16)\) に従う入力パラメーター (GPU 上) のみをサポートします。ここで、k は確率ベクトルの長さです。
インクルード・ファイル#
oneapi/mkl/rng.hpp
テンプレート・パラメーター#
|
生成された値のタイプ。固有の値は次のとおりです:
|
|
生成メソッド。固有の値は次のとおりです:
配布テンプレート・パラメーター・メソッドのメソッドの説明を参照してください。 |
入力パラメーター#
名前 |
タイプ |
説明 |
|---|---|---|
ntrial |
|
独立した試行の数 |
p |
|
起こりうる結果の確率ベクトル (長さは |
注
explicit multinomial(double ntrial, std::vector<double> p);は非推奨であり、次のリリースのいずれかで削除される予定です。代わりにexplicit multinomial(double ntrial, sycl::span<double> p);を使用してください。ユーザーメモリー上に構築された
sycl::spanをコンストラクターに渡す場合、ユーザーは sycl::span の下のメモリーを自身で管理する必要があります。データが処理されている間は、メモリーを破棄してはなりません。