gaussian#

正規分布の乱数を生成します。

説明#

クラス・オブジェクトは、generate 関数で使用され、平均 a と標準偏差 (stddev, σ) を持つ正規 (ガウス) 分布の乱数を生成します。ここで、a,σR;σ>0 です

確率密度関数は次のように表されます。

fa,σ(x)=1σ2πexp((ya)22σ2)dy,<x<+

累積分布関数は次のようになります。

Fa,σ(x)=x1σ2πexp((ya)22σ2)dy,<x<+

累積分布関数 Fa,σ(x) は、標準正規分布 ϕ(x) で次のように表すことができます: Fa,σ(x)=ϕ((xa)/σ)

API#

構文#

namespace oneapi::mkl::rng { 
  template<typename RealType = float, 
           typename Method = gaussian_method::by_default> 
  class gaussian { 
  public: 
    using method_type = Method; 
    using result_type = RealType; 

    gaussian(): gaussian(static_cast<RealType>(0.0), static_cast<RealType>(1.0)){} 
    explicit gaussian(RealType mean, RealType stddev); 
    explicit gaussian(const param_type& pt); 

    RealType mean() const; 
    RealType stddev() const; 
    param_type param() const; 
    void param(const param_type& pt); 
  }; 
}

サポートされるデバイス: CPU と GPU。

インクルード・ファイル#

  • oneapi/mkl/rng.hpp

テンプレート・パラメーター#

名前

説明

typename RealType = float

生成された値のタイプ。固有の値は次のとおりです:

float

double

typename Method = ``oneapi::mkl::rng::gaussian_method::by_default

生成メソッド。固有の値は次のとおりです:

oneapi::mkl::rng::gaussian_method::box_muller

oneapi::mkl::rng::gaussian_method::box_muller2

oneapi::mkl::rng::gaussian_method::icdf

配布テンプレート・パラメーター・メソッドのメソッドの説明を参照してください。

入力パラメーター#

名前

タイプ

説明

平均

RealType (float, double)

平均値 a

stddev

RealType (float, double)

標準偏差 σ