確率統計確率統計
双曲線正割分布サンプリング; Hyperbolic Secant Distribution Sampling

概要
双曲線正割分布とは以下の式で表現される確率分布。

$$f(x)=\frac{1}{2} sech \left( \frac{\pi x}{2} \right) $$
双曲線正割分布

ソースコード

namespace ExRandom.Continuous {
    public class HyperbolicSecantRandom : Random{
        readonly MT19937 mt;

        public HyperbolicSecantRandom(MT19937 mt) {
            if(mt == null) {
                throw new ArgumentNullException();
            }

            this.mt = mt;
        }

        public override double Next() {
            const double PI_DIV_2 = Math.PI * 0.5, INV_PI_DIV_2 = 2.0 / Math.PI;

            double r = mt.NextDouble_OpenInterval01();

            return INV_PI_DIV_2 * Math.Log(Math.Tan(PI_DIV_2 * r));
        }
    }
}

関連項目
メルセンヌ・ツイスタ
各種確率分布サンプリング基本クラス

ライブラリライブラリ
確率統計確率統計
線形代数線形代数
幾何学幾何学
最適化最適化
微分方程式微分方程式
画像処理画像処理
補間補間
機械学習機械学習
クラスタリングクラスタリング
パズルゲーム・パズル
未分類未分類