@menu
* Introduction to distrib::
* Functions and Variables for continuous distributions::
* Functions and Variables for discrete distributions::
@end menu

@node Introduction to distrib, Functions and Variables for continuous distributions, distrib, distrib
@section Introduction to distrib


パッケージ @code{distrib}には
離散と連続両方の単変量モデル上の確率計算を行う関数一式が入っています。

以下は基本的な確率関連の定義の短い復習です。

@math{f(x)}を 絶対連続確率変数 @math{X}の @var{density function, 密度函数}とします。
@var{distribution function, 分布函数}は以下のように定義されます。
@ifnottex
@example
                       x
                      /
                      [
               F(x) = I     f(u) du
                      ]
                      /
                       minf
@end example
@end ifnottex
@tex
$$F\left(x\right)=\int_{ -\infty }^{x}{f\left(u\right)\;du}$$
@end tex
これは確率 @var{Pr(X <= x)}に等しいです。

@var{mean, 平均}値は局所化パラメータで、以下のように定義されます。
@ifnottex
@example
                     inf
                    /
                    [
           E[X]  =  I   x f(x) dx
                    ]
                    /
                     minf
@end example
@end ifnottex
@tex
$$E\left[X\right]=\int_{ -\infty }^{\infty }{x\,f\left(x\right)\;dx}$$
@end tex

@var{variance, 分散}は変動の測度です。
@ifnottex
@example
                 inf
                /
                [                    2
         V[X] = I     f(x) (x - E[X])  dx
                ]
                /
                 minf
@end example
@end ifnottex
@tex
$$V\left[X\right]=\int_{ -\infty }^{\infty }{f\left(x\right)\,\left(x
 -E\left[X\right]\right)^2\;dx}$$
@end tex
これは正の実数です。
分散の平方根は @var{standard deviation, 標準偏差}, @math{D[X]=sqrt(V[X])}で、
変動の別の測度です。

@var{skewness coefficient, 歪度係数}は非対称性の測度です。
@ifnottex
@example
                 inf
                /
            1   [                    3
  SK[X] = ----- I     f(x) (x - E[X])  dx
              3 ]
          D[X]  /
                 minf
@end example
@end ifnottex
@tex
$$SK\left[X\right]={{\int_{ -\infty }^{\infty }{f\left(x\right)\,
 \left(x-E\left[X\right]\right)^3\;dx}}\over{D\left[X\right]^3}}$$
@end tex

@var{kurtosis coefficient, 尖度係数}は分布のとんがり具合を評価します。
@ifnottex
@example
                 inf
                /
            1   [                    4
  KU[X] = ----- I     f(x) (x - E[X])  dx - 3
              4 ]
          D[X]  /
                 minf
@end example
@end ifnottex
@tex
$$KU\left[X\right]={{\int_{ -\infty }^{\infty }{f\left(x\right)\,
 \left(x-E\left[X\right]\right)^4\;dx}}\over{D\left[X\right]^4}}-3$$
@end tex
もし @math{X}がガウシアンなら、 @math{KU[X]=0}です。
実際、歪度と尖度は分布の非ガウシアン性を評価するのに使われる形状パラメータです。

もし確率変数 @math{X}が離散的なら、密度すなわち @var{probability, 確率}函数
@math{f(x)}は
数 @math{x_i}のある可算集合内で正値を取り、それ以外で0を取ります。
この場合、分布函数は以下の通りです。
@ifnottex
@example
                       ====
                       \
                F(x) =  >    f(x )
                       /        i
                       ====
                      x <= x
                       i
@end example
@end ifnottex
@tex
$$F\left(x\right)=\sum_{x_{i}\leq x}{f\left(x_{i}\right)}$$
@end tex

平均、分散、標準偏差、歪度係数、尖度係数はそれぞれ以下の形を取ります。
@ifnottex
@example
                       ====
                       \
                E[X] =  >  x  f(x ) ,
                       /    i    i
                       ====
                        x 
                         i
@end example
@end ifnottex
@tex
$$E\left[X\right]=\sum_{x_{i}}{x_{i}f\left(x_{i}\right)},$$
@end tex

@ifnottex
@example
                ====
                \                     2
        V[X] =   >    f(x ) (x - E[X])  ,
                /        i    i
                ====
                 x
                  i
@end example
@end ifnottex
@tex
$$V\left[X\right]=\sum_{x_{i}}{f\left(x_{i}\right)\left(x_{i}-E\left[X\right]\right)^2},$$
@end tex

@ifnottex
@example
               D[X] = sqrt(V[X]),
@end example
@end ifnottex
@tex
$$D\left[X\right]=\sqrt{V\left[X\right]},$$
@end tex

@ifnottex
@example
                     ====
              1      \                     3
  SK[X] =  -------    >    f(x ) (x - E[X])  
           D[X]^3    /        i    i
                     ====
                      x
                       i
@end example
@end ifnottex
@tex
$$SK\left[X\right]={{\sum_{x_{i}}{f\left(x\right)\,
 \left(x-E\left[X\right]\right)^3\;dx}}\over{D\left[X\right]^3}}$$
@end tex
and
@ifnottex
@example
                     ====
              1      \                     4
  KU[X] =  -------    >    f(x ) (x - E[X])   - 3 ,
           D[X]^4    /        i    i
                     ====
                      x
                       i
@end example
@end ifnottex
@tex
$$KU\left[X\right]={{\sum_{x_{i}}{f\left(x\right)\,
 \left(x-E\left[X\right]\right)^4\;dx}}\over{D\left[X\right]^4}}-3,$$
@end tex

以下はパッケージ @code{distrib}での命名規則です。
すべての関数名は2つの部分を持ちます。
一番目の部分は計算したい函数やパラメータへの参照となります。
@example
Functions:
   Density function            (pdf_*)
   Distribution function       (cdf_*)
   Quantile                    (quantile_*)
   Mean                        (mean_*)
   Variance                    (var_*)
   Standard deviation          (std_*)
   Skewness coefficient        (skewness_*)
   Kurtosis coefficient        (kurtosis_*)
   Random variate              (random_*)
@end example

二番目の部分は確率モデルの明示的な参照になります。
@example
Continuous distributions:
   Normal              (*normal)
   Student             (*student_t)
   Chi^2               (*chi2)
   Noncentral Chi^2    (*noncentral_chi2)
   F                   (*f)
   Exponential         (*exp)
   Lognormal           (*lognormal)
   Gamma               (*gamma)
   Beta                (*beta)
   Continuous uniform  (*continuous_uniform)
   Logistic            (*logistic)
   Pareto              (*pareto)
   Weibull             (*weibull)
   Rayleigh            (*rayleigh)
   Laplace             (*laplace)
   Cauchy              (*cauchy)
   Gumbel              (*gumbel)

Discrete distributions:
   Binomial             (*binomial)
   Poisson              (*poisson)
   Bernoulli            (*bernoulli)
   Geometric            (*geometric)
   Discrete uniform     (*discrete_uniform)
   hypergeometric       (*hypergeometric)
   Negative binomial    (*negative_binomial)
   Finite discrete      (*general_finite_discrete)
@end example

例えば、 @code{pdf_student_t(x,n)}はn個の自由度を持つStudent分布の密度函数で、
@code{std_pareto(a,b)}は
パラメータ @var{a}と @var{b}を持つPareto分布の標準偏差であり、
@code{kurtosis_poisson(m)}は平均値 @var{m}を持つPoisson分布の尖度係数です。

パッケージ @code{distrib}を利用するには、初めに
@example
(%i1) load("distrib")$
@end example
とタイプしてそれをロードする必要があります。

ご意見、バグ、提案は著者 @var{'mario AT edu DOT xunta DOT es'}に連絡ください。

@opencatbox
@category{Statistical functions}
@category{Share packages}
@category{Package distrib}
@closecatbox




@node Functions and Variables for continuous distributions, Functions and Variables for discrete distributions, Introduction to distrib, distrib
@section Functions and Variables for continuous distributions


@deffn {関数} pdf_normal (@var{x},@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の密度函数の @var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_normal (@var{x},@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の密度函数の @var{x}での値を返します。
この関数はMaximaの組み込み誤差関数 @code{erf}を使って定義されます。

@c ===beg===
@c load ("distrib")$
@c assume(s>0)$ cdf_normal(x,m,s);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) assume(s>0)$ cdf_normal(x,m,s);
                             x - m
                       erf(---------)
                           sqrt(2) s    1
(%o3)                  -------------- + -
                             2          2
@end example

@code{erf}も参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_normal (@var{q},@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の @var{q}分位数を返します。
言い換えると、これは @code{cdf_normal}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@c ===beg===
@c load ("distrib")$
@c quantile_normal(95/100,0,1);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_normal(95/100,0,1);
                                      9
(%o2)             sqrt(2) inverse_erf(--)
                                      10
(%i3) float(%);
(%o3)               1.644853626951472
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_normal (@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の平均、すなわち @var{m}を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_normal (@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の分散、すなわち @var{s^2}を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_normal (@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の分散、すなわち @var{s}を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_normal (@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の歪度を返します。それは常に0に等しいです。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_normal (@var{m},@var{s})
@math{s>0}で @math{Normal(m,s)}(正規)確率変数の尖度を返します。それは常に0に等しいです。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_normal (@var{m},@var{s})
@deffnx {関数} random_normal (@var{m},@var{s},@var{n})
@math{s>0}で @math{Normal(m,s)}(正規)確率変量を返します。
三番目の引数 @var{n}とともに@code{random_normal}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

これはBox-Muellerアルゴリズムの実装です。
Knuth, D.E. (1981) @var{Seminumerical Algorithms. The Art of Computer Programming.} Addison-Wesleyに記載されています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_student_t (@var{x},@var{n})
@math{n>0}自由度のStudent確率変数 @math{t(n)}の密度函数の @var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_student_t (@var{x},@var{n})
@math{n>0}自由度のStudent確率変数 @math{t(n)}の分布函数の @var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_student_t(1/2, 7/3);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_student_t(1/2, 7/3);
                                         7  1  28
             beta_incomplete_regularized(-, -, --)
                                         6  2  31
(%o2)    1 - -------------------------------------
                               2
(%i3) float(%);
(%o3)                .6698450596140415
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_student_t (@var{q},@var{n})
@math{n>0}自由度のStudent確率変数 @math{t(n)}の @var{q}-分位数を返します。
言い換えると、これは @code{cdf_student_t}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_student_t (@var{n})
@math{n>0}自由度のStudent確率変数 @math{t(n)}の平均を返します。
それはいつも0に等しいです。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_student_t (@var{n})
@math{n>2}自由度のStudent確率変数 @math{t(n)}の分散を返します。

@c ===beg===
@c load ("distrib")$
@c assume(n>2)$  var_student_t(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) assume(n>2)$  var_student_t(n);
                                n
(%o3)                         -----
                              n - 2
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_student_t (@var{n})
@math{n>2}自由度のStudent確率変数 @math{t(n)}の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_student_t (@var{n})
@math{n>3}自由度のStudent確率変数 @math{t(n)}の歪度係数を返します。
それはいつも0に等しいです。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_student_t (@var{n})
@math{n>4}自由度のStudent確率変数 @math{t(n)}の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_student_t (@var{n})
@deffnx {関数} random_student_t (@var{n},@var{m})
@math{n>0}自由度のStudent確率変量 @math{t(n)}を返します。
三番目の引数 @var{m}とともに@code{random_student_t}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

実装アルゴリズムは、
もし @var{Z}が正規確率変数 @math{N(0,1)}で、 
@math{S^2}が@var{n}自由度のカイ二乗確率変数 @math{Chi^2(n)}なら、
@ifnottex
@example
                           Z
                 X = -------------
                     /   2  \ 1/2
                     |  S   |
                     | ---  |
                     \  n   /
@end example
@end ifnottex
@tex
$$X={{Z}\over{\sqrt{{S^2}\over{n}}}}$$
@end tex
は @var{n}自由度のStudent確率変数 @math{t(n)}であるという事実に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_noncentral_student_t (@var{x},@var{n},@var{ncp})
@math{n>0}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の密度函数の@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

時々、最終結果を得るために余分な仕事が必要となります。

@c ===beg===
@c load ("distrib")$
@c expand(pdf_noncentral_student_t(3,5,0.1));
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) expand(pdf_noncentral_student_t(3,5,0.1));
       .01370030107589574 sqrt(5)
(%o2)  --------------------------
       sqrt(2) sqrt(14) sqrt(%pi)
   1.654562884111515E-4 sqrt(5)
 + ----------------------------
            sqrt(%pi)
   .02434921505438663 sqrt(5)
 + --------------------------
              %pi
(%i3) float(%);
(%o3)          .02080593159405669
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_noncentral_student_t (@var{x},@var{n},@var{ncp})
@math{n>0}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の分布函数の@var{x}での値を返します。
この函数は閉形式を持たず、
もしグローバル変数@code{numer}が@code{true}に等しいか
引数の少なくとも1つが浮動小数点数なら、数値的に計算されます。
そうでなければ、名目上の式を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_noncentral_student_t(-2,5,-5);
@c cdf_noncentral_student_t(-2.0,5,-5);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_noncentral_student_t(-2,5,-5);
(%o2) cdf_noncentral_student_t(- 2, 5, - 5)
(%i3) cdf_noncentral_student_t(-2.0,5,-5);
(%o3)          .9952030093319743
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_noncentral_student_t (@var{q},@var{n},@var{ncp})
@math{n>0}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の@var{q}-分位数を返します。
言い換えると、これは @code{cdf_noncentral_student_t}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_noncentral_student_t (@var{n},@var{ncp})
@math{n>0}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@c ===beg===
@c load ("distrib")$
@c (assume(df>1), mean_noncentral_student_t(df,k));
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) (assume(df>1), mean_noncentral_student_t(df,k));
                   df - 1
             gamma(------) sqrt(df) k
                     2
(%o2)        ------------------------
                              df
                sqrt(2) gamma(--)
                              2
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_noncentral_student_t (@var{n},@var{ncp})
@math{n>2}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_noncentral_student_t (@var{n},@var{ncp})
@math{n>2}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_noncentral_student_t (@var{n},@var{ncp})
@math{n>3}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_noncentral_student_t (@var{n},@var{ncp})
@math{n>3}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_noncentral_student_t (@var{n},@var{ncp})
@deffnx {関数} random_noncentral_student_t (@var{n},@var{ncp},@var{m})
@math{n>0}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変量 @math{nc_t(n,ncp)}を返します。
三番目の引数 @var{m}とともに@code{random_noncentral_student_t}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

もし @var{X}が正規確率変数 @math{N(ncp,1)}で、 
@math{S^2}が@var{n}自由度のカイ二乗確率変数 @math{Chi^2(n)}なら、
@ifnottex
@example
                           X
                 U = -------------
                     /   2  \ 1/2
                     |  S   |
                     | ---  |
                     \  n   /
@end example
@end ifnottex
@tex
$$U={{X}\over{\sqrt{{S^2}\over{n}}}}$$
@end tex
は @var{n}自由度で非中心度パラメータ @math{ncp}を持つ
非中心Student確率変数 @math{nc_t(n,ncp)}であるという事実に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_chi2 (@var{x},@var{n})
@math{n>0}でカイ二乗確率変数 @math{Chi^2(n)}の密度函数の @var{x}での値を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}と同値です。
だから Maximaは結果を得るのに充分な情報を持っていない時
ガンマ密度に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c pdf_chi2(x,n);
@c assume(x>0, n>0)$  pdf_chi2(x,n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) pdf_chi2(x,n);
                                    n
(%o2)                  pdf_gamma(x, -, 2)
                                    2
(%i3) assume(x>0, n>0)$  pdf_chi2(x,n);
                         n/2 - 1   - x/2
                        x        %e
(%o4)                   ----------------
                          n/2       n
                         2    gamma(-)
                                    2
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_chi2 (@var{x},@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の分布函数の @var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_chi2(3,4);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_chi2(3,4);
                                               3
(%o2)      1 - gamma_incomplete_regularized(2, -)
                                               2
(%i3) float(%);
(%o3)               .4421745996289256
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_chi2 (@var{q},@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の @var{q}-分位数を返します;
言い換えると、これは @code{cdf_chi2}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。

この函数は閉形式を持たず、
もしグローバル変数@code{numer}が@code{true}に等しいか
引数の少なくとも1つが浮動小数点数なら、数値的に計算されます。
そうでなければ、
@math{Chi^2(n)}確率変数は @math{Gamma(n/2,2)}と同値なので、
ガンマ分位函数に基づいた名目上の式を返します。

@c ===beg===
@c load ("distrib")$
@c quantile_chi2(0.99,9);
@c quantile_chi2(0.99,n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_chi2(0.99,9);
(%o2)                   21.66599433346194
(%i3) quantile_chi2(0.99,n);
                                        n
(%o3)              quantile_gamma(0.99, -, 2)
                                        2
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_chi2 (@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の平均を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}に同値なので、
Maximaが結果を得るのに充分な情報を持たない時には、
ガンマ平均に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c mean_chi2(n);
@c assume(n>0)$ mean_chi2(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) mean_chi2(n);
                                   n
(%o2)                   mean_gamma(-, 2)
                                   2
(%i3) assume(n>0)$ mean_chi2(n);
(%o4)                           n
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_chi2 (@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の分散を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}に同値なので、
Maximaが結果を得るのに充分な情報を持たない時には、
ガンマ分散に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c var_chi2(n);
@c assume(n>0)$ var_chi2(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) var_chi2(n);
                                   n
(%o2)                    var_gamma(-, 2)
                                   2
(%i3) assume(n>0)$ var_chi2(n);
(%o4)                          2 n
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_chi2 (@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の標準偏差を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}に同値なので、
Maximaが結果を得るのに充分な情報を持たない時には、
ガンマ標準偏差に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c std_chi2(n);
@c assume(n>0)$ std_chi2(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) std_chi2(n);
                                   n
(%o2)                    std_gamma(-, 2)
                                   2
(%i3) assume(n>0)$ std_chi2(n);
(%o4)                    sqrt(2) sqrt(n)
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_chi2 (@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の歪度係数を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}に同値なので、
Maximaが結果を得るのに充分な情報を持たない時には、
ガンマ歪度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c skewness_chi2(n);
@c assume(n>0)$ skewness_chi2(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) skewness_chi2(n);
                                     n
(%o2)                 skewness_gamma(-, 2)
                                     2
(%i3) assume(n>0)$ skewness_chi2(n);
                            2 sqrt(2)
(%o4)                       ---------
                             sqrt(n)
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_chi2 (@var{n})
@math{n>0}で、カイ二乗確率変数 @math{Chi^2(n)}の尖度係数を返します。

@math{Chi^2(n)}確率変数は
@math{Gamma(n/2,2)}に同値なので、
Maximaが結果を得るのに充分な情報を持たない時には、
ガンマ尖度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c kurtosis_chi2(n);
@c assume(n>0)$ kurtosis_chi2(n);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) kurtosis_chi2(n);
                                     n
(%o2)                 kurtosis_gamma(-, 2)
                                     2
(%i3) assume(n>0)$ kurtosis_chi2(n);
                               12
(%o4)                          --
                               n
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_chi2 (@var{n})
@deffnx {関数} random_chi2 (@var{n},@var{m})
@math{n>0}で、カイ二乗確率変量 @math{Chi^2(n)}を返します。
二番目の引数 @var{m}とともに@code{random_chi2}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

シミュレーションはAhrens-Chengアルゴリズムに基づきます。
詳細は@code{random_gamma}を参照してください。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_noncentral_chi2 (@var{x},@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
密度函数の
@var{x}での値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_noncentral_chi2 (@var{x},@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_noncentral_chi2 (@var{q},@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_noncentral_chi2}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。

この関数は閉形式を持たず、
もしグローバル変数 @code{numer}が @code{true}に等しいなら、
数値的に計算され、
そうでなければ、名目上の式を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_noncentral_chi2 (@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
平均を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_noncentral_chi2 (@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
分散を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_noncentral_chi2 (@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
標準偏差を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_noncentral_chi2 (@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
歪度係数を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_noncentral_chi2 (@var{n},@var{ncp})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変数 @math{nc_Chi^2(n,ncp)}の
尖度係数を返します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_noncentral_chi2 (@var{n},@var{ncp})
@deffnx {関数} random_noncentral_chi2 (@var{n},@var{ncp},@var{m})
@math{n>0}と非中心度パラメータ @math{ncp>=0}を持つ
非中心カイ二乗確率変量 @math{nc_Chi^2(n,ncp)}を返します。
三番目の引数 @var{m}とともに@code{random_noncentral_chi2}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn



@deffn {関数} pdf_f (@var{x},@var{m},@var{n})
@math{m,n>0}で、F確率変数 @math{F(m,n)}の密度関数の
@var{x}の値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_f (@var{x},@var{m},@var{n})
@math{m,n>0}で、F確率変数 @math{F(m,n)}の
分布関数の
@var{x}の値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_f(2,3,9/4);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_f(2,3,9/4);
                                         9  3  3
(%o2)    1 - beta_incomplete_regularized(-, -, --)
                                         8  2  11
(%i3) float(%);
(%o3)                 0.66756728179008
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_f (@var{q},@var{m},@var{n})
@math{m,n>0}で、F確率変数 @math{F(m,n)}の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_f}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。

この関数は閉形式を持たず、
もしグローバル変数 @code{numer}が @code{true}に等しいなら、
数値的に計算され、
そうでなければ、名目上の式を返します。

@c ===beg===
@c load ("distrib")$
@c quantile_f(2/5,sqrt(3),5);
@c %,numer;
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_f(2/5,sqrt(3),5);
                               2
(%o2)               quantile_f(-, sqrt(3), 5)
                               5
(%i3) %,numer;
(%o3)                   0.518947838573693
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_f (@var{m},@var{n})
@math{m,n>2}で、F確率変数 @math{F(m,n)}の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_f (@var{m},@var{n})
@math{m,n>4}で、F確率変数 @math{F(m,n)}の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_f (@var{m},@var{n})
@math{m,n>4}で、F確率変数 @math{F(m,n)}の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_f (@var{m},@var{n})
@math{m,n>6}で、F確率変数 @math{F(m,n)}の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_f (@var{m},@var{n})
@math{m,n>8}で、F確率変数 @math{F(m,n)}の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_f (@var{m},@var{n})
@deffnx {関数} random_f (@var{m},@var{n},@var{k})
@math{m,n>8}で、F確率変量 @math{F(m,n)}を返します。
三番目の引数 @var{k}とともに@code{random_f}をコールすると、
サイズ @var{k}のランダムな標本がシミュレートされます。

シミュレーションアルゴリズムは、
もし @var{X}が @math{Chi^2(m)}確率変数で @math{Y}が @math{Chi^2(n)}確率変数なら
@ifnottex
@example
                        n X
                    F = ---
                        m Y
@end example
@end ifnottex
@tex
$$F={{n X}\over{m Y}}$$
@end tex
は @var{m}と @var{n}自由度を持つ F確率変数 @math{F(m,n)}である
という事実に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_exp (@var{x},@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
密度函数の
@var{x}での値を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull密度に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c pdf_exp(x,m);
@c assume(x>0,m>0)$  pdf_exp(x,m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) pdf_exp(x,m);
                                        1
(%o2)                 pdf_weibull(x, 1, -)
                                        m
(%i3) assume(x>0,m>0)$  pdf_exp(x,m);
                                - m x
(%o4)                       m %e
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_exp (@var{x},@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
分布函数の
@var{x}での値を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分布に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_exp(x,m);
@c assume(x>0,m>0)$  cdf_exp(x,m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_exp(x,m);
                                        1
(%o2)                 cdf_weibull(x, 1, -)
                                        m
(%i3) assume(x>0,m>0)$  cdf_exp(x,m);
                                 - m x
(%o4)                      1 - %e
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_exp (@var{q},@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
@var{q}-分位数を返します;
言い換えると、これは@code{cdf_exp}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分位数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c quantile_exp(0.56,5);
@c quantile_exp(0.56,m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_exp(0.56,5);
(%o2)                   .1641961104139661
(%i3) quantile_exp(0.56,m);
                                            1
(%o3)             quantile_weibull(0.56, 1, -)
                                            m
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_exp (@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
平均を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull平均に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c mean_exp(m);
@c assume(m>0)$  mean_exp(m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) mean_exp(m);
                                       1
(%o2)                  mean_weibull(1, -)
                                       m
(%i3) assume(m>0)$  mean_exp(m);
                                1
(%o4)                           -
                                m
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_exp (@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
分散を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分散に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c var_exp(m);
@c assume(m>0)$  var_exp(m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) var_exp(m);
                                       1
(%o2)                   var_weibull(1, -)
                                       m
(%i3) assume(m>0)$  var_exp(m);
                               1
(%o4)                          --
                                2
                               m
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_exp (@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
標準偏差を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull標準偏差に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c std_exp(m);
@c assume(m>0)$  std_exp(m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) std_exp(m);
                                       1
(%o2)                   std_weibull(1, -)
                                       m
(%i3) assume(m>0)$  std_exp(m);
                                1
(%o4)                           -
                                m
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_exp (@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
歪度係数を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull歪度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c skewness_exp(m);
@c assume(m>0)$  skewness_exp(m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) skewness_exp(m);
                                         1
(%o2)                skewness_weibull(1, -)
                                         m
(%i3) assume(m>0)$  skewness_exp(m);
(%o4)                           2
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_exp (@var{m})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変数の
尖度係数を返します。

@math{Exponential(m)}(指数)確率変数は
 @math{Weibull(1,1/m)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull尖度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c kurtosis_exp(m);
@c assume(m>0)$  kurtosis_exp(m);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) kurtosis_exp(m);
                                         1
(%o2)                kurtosis_weibull(1, -)
                                         m
(%i3) assume(m>0)$  kurtosis_exp(m);
(%o4)                           6
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_exp (@var{m})
@deffnx {関数} random_exp (@var{m},@var{k})
@math{m>0}で、 @math{Exponential(m)}(指数)確率変量を返します。
二番目の引数 @var{k}とともに@code{random_exp}をコールすると、
サイズ @var{k}のランダムな標本がシミュレートされます。

シミュレーションアルゴリズムは一般逆函数法です。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_lognormal (@var{x},@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
密度函数の
@var{x}での値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_lognormal (@var{x},@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
分布函数の
@var{x}での値を返します。
この関数はMaximaの組み込み誤差関数 @code{erf}を使って定義されます。


@c ===beg===
@c load ("distrib")$
@c assume(x>0, s>0)$  cdf_lognormal(x,m,s);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) assume(x>0, s>0)$  cdf_lognormal(x,m,s);
                           log(x) - m
                       erf(----------)
                           sqrt(2) s     1
(%o3)                  --------------- + -
                              2          2
@end example

@code{erf}も参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_lognormal (@var{q},@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_lognormal}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@c ===beg===
@c load ("distrib")$
@c quantile_lognormal(95/100,0,1);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_lognormal(95/100,0,1);
                  sqrt(2) inverse_erf(9/10)
(%o2)           %e
(%i3) float(%);
(%o3)               5.180251602233015
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_lognormal (@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_lognormal (@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_lognormal (@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_lognormal (@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_lognormal (@var{m},@var{s})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_lognormal (@var{m},@var{s})
@deffnx {関数} random_lognormal (@var{m},@var{s},@var{n})
@math{s>0}で、@math{Lognormal(m,s)}(対数正規)確率変量を返します。
三番目の引数 @var{n}とともに@code{random_lognormal}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

対数世紀変量は確率正規変量の平均によってシミュレートされます。
詳細は @code{random_normal}を見てください。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_gamma (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
密度函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_gamma (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
分布函数の
@var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_gamma(3,5,21);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_gamma(3,5,21);
                                              1
(%o2)     1 - gamma_incomplete_regularized(5, -)
                                              7
(%i3) float(%);
(%o3)              4.402663157376807E-7
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_gamma (@var{q},@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
@var{p}-分位数を返します;
言い換えれば、これは @code{cdf_gamma}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_gamma (@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_gamma (@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_gamma (@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_gamma (@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_gamma (@var{a},@var{b})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_gamma (@var{a},@var{b})
@deffnx {関数} random_gamma (@var{a},@var{b},@var{n})
@math{a,b>0}で、 @math{Gamma(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_gamma}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムはパラメータ @var{a}の値に依存して、2つの手続きの組み合わせです:

@math{a>=1}に対して, Cheng, R.C.H. and Feast, G.M. (1979). @var{Some simple gamma variate generators}. Appl. Stat., 28, 3, 290-295.

@math{0<a<1}に対して, Ahrens, J.H. and Dieter, U. (1974). @var{Computer methods for sampling from gamma, beta, poisson and binomial cdf_tributions}. Computing, 12, 223-246.

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_beta (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
密度函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn



@deffn {関数} cdf_beta (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
分布函数の
@var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_beta(1/3,15,2);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_beta(1/3,15,2);
                             11
(%o2)                     --------
                          14348907
(%i3) float(%);
(%o3)              7.666089131388195E-7
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_beta (@var{q},@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
@var{q}-分位数を返します;
言い換えると、これは@code{cdf_beta}の逆函数です。
引数 @var{q} @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_beta (@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_beta (@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_beta (@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_beta (@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_beta (@var{a},@var{b})
@math{a,b>0}で、 @math{Beta(a,b)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_beta (@var{a},@var{b})
@deffnx {関数} random_beta (@var{a},@var{b},@var{n})
@math{a,b>0}で、 @math{Beta(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_gamma}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは
Cheng, R.C.H.  (1978). @var{Generating Beta Variates with Nonintegral Shape Parameters}. Communications of the ACM, 21:317-322
に定義されています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn

@deffn {関数} pdf_continuous_uniform (@var{x},@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の密度函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_continuous_uniform (@var{x},@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_continuous_uniform (@var{q},@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
@var{q}-分位数を返します。
言い換えると、これは @code{cdf_continuous_uniform}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_continuous_uniform (@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_continuous_uniform (@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_continuous_uniform (@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_continuous_uniform (@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_continuous_uniform (@var{a},@var{b})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変数の分布函数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_continuous_uniform (@var{a},@var{b})
@deffnx {関数} random_continuous_uniform (@var{a},@var{b},@var{n})
@math{a<b}で、
@math{Continuous Uniform(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_gamma}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

これは @code{random}組み込みMaxima関数の直接の応用です。

@code{random}も参照してください。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_logistic (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の
密度函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_logistic (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の
分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_logistic (@var{q},@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の
@var{q}-分位数を返します。
言い換えると、これは @code{cdf_logistic}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_logistic (@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_logistic (@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_logistic (@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_logistic (@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_logistic (@var{a},@var{b})
@math{b>0}で、 @math{Logistic(a,b)}確率変数の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_logistic (@var{a},@var{b})
@deffnx {関数} random_logistic (@var{a},@var{b},@var{n})
@math{b>0}で、 @math{Logistic(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_logistic}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_pareto (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Pareto(a,b)}確率変数の
密度函数の
@var{x}の値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_pareto (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Pareto(a,b)}確率変数の
分布函数の
@var{x}の値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_pareto (@var{q},@var{a},@var{b})
@math{a,b>0}で、 @math{Pareto(a,b)}確率変数の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_pareto}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_pareto (@var{a},@var{b})
@math{a,b>0}で、 @math{Pareto(a,b)}確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_pareto (@var{a},@var{b})
@math{a>2,b>0}で、 @math{Pareto(a,b)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_pareto (@var{a},@var{b})
@math{a>2,b>0}で、 @math{Pareto(a,b)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn



@deffn {関数} skewness_pareto (@var{a},@var{b})
@math{a>2,b>0}で、 @math{Pareto(a,b)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_pareto (@var{a},@var{b})
@math{a>2,b>0}で、 @math{Pareto(a,b)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_pareto (@var{a},@var{b})
@deffnx {関数} random_pareto (@var{a},@var{b},@var{n})
@math{a>2,b>0}で、 @math{Pareto(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_pareto}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_weibull (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
密度函数の
@var{x}の値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_weibull (@var{x},@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
分布函数の
@var{x}の値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_weibull (@var{q},@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
@var{q}-分位数を返します;
言い換えれば、これは @code{cdf_weibull}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_weibull (@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_weibull (@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn

@deffn {関数} std_weibull (@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn



@deffn {関数} skewness_weibull (@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_weibull (@var{a},@var{b})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_weibull (@var{a},@var{b})
@deffnx {関数} random_weibull (@var{a},@var{b},@var{n})
@math{a,b>0}で、 @math{Weibull(a,b)}確率変量を返します。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn



@deffn {関数} pdf_rayleigh (@var{x},@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の
密度函数の
@var{x}での値を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull密度に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c pdf_rayleigh(x,b);
@c assume(x>0,b>0)$ pdf_rayleigh(x,b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) pdf_rayleigh(x,b);
                                        1
(%o2)                 pdf_weibull(x, 2, -)
                                        b
(%i3) assume(x>0,b>0)$ pdf_rayleigh(x,b);
                                    2  2
                           2     - b  x
(%o4)                   2 b  x %e
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_rayleigh (@var{x},@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の
分布函数の
@var{x}での値を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分布に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_rayleigh(x,b);
@c assume(x>0,b>0)$ cdf_rayleigh(x,b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_rayleigh(x,b);
                                        1
(%o2)                 cdf_weibull(x, 2, -)
                                        b
(%i3) assume(x>0,b>0)$ cdf_rayleigh(x,b);
                                   2  2
                                - b  x
(%o4)                     1 - %e
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_rayleigh (@var{q},@var{b})
Returns the @var{q}-quantile of a @math{Rayleigh(b)} random variable, with @math{b>0}; in other words, this is the inverse of @code{cdf_rayleigh}. Argument @var{q} must be an element of @math{[0,1]}.

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分位数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c quantile_rayleigh(0.99,b);
@c assume(x>0,b>0)$ quantile_rayleigh(0.99,b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) quantile_rayleigh(0.99,b);
                                            1
(%o2)             quantile_weibull(0.99, 2, -)
                                            b
(%i3) assume(x>0,b>0)$ quantile_rayleigh(0.99,b);
                        2.145966026289347
(%o4)                   -----------------
                                b
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_rayleigh (@var{b})
Returns the mean of a @math{Rayleigh(b)} random variable, with @math{b>0}.

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull平均に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c mean_rayleigh(b);
@c assume(b>0)$ mean_rayleigh(b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) mean_rayleigh(b);
                                       1
(%o2)                  mean_weibull(2, -)
                                       b
(%i3) assume(b>0)$ mean_rayleigh(b);
                            sqrt(%pi)
(%o4)                       ---------
                               2 b
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_rayleigh (@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の分散を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull分散に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c var_rayleigh(b);
@c assume(b>0)$ var_rayleigh(b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) var_rayleigh(b);
                                       1
(%o2)                   var_weibull(2, -)
                                       b
(%i3) assume(b>0)$ var_rayleigh(b);
                                 %pi
                             1 - ---
                                  4
(%o4)                        -------
                                2
                               b
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_rayleigh (@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の標準偏差を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull標準偏差に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c std_rayleigh(b);
@c assume(b>0)$ std_rayleigh(b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) std_rayleigh(b);
                                       1
(%o2)                   std_weibull(2, -)
                                       b
(%i3) assume(b>0)$ std_rayleigh(b);
                                   %pi
                          sqrt(1 - ---)
                                    4
(%o4)                     -------------
                                b
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_rayleigh (@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の歪度係数を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull歪度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c skewness_rayleigh(b);
@c assume(b>0)$ skewness_rayleigh(b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) skewness_rayleigh(b);
                                         1
(%o2)                skewness_weibull(2, -)
                                         b
(%i3) assume(b>0)$ skewness_rayleigh(b);
                         3/2
                      %pi      3 sqrt(%pi)
                      ------ - -----------
                        4           4
(%o4)                 --------------------
                               %pi 3/2
                          (1 - ---)
                                4
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_rayleigh (@var{b})
@math{b>0}で、 @math{Rayleigh(b)}確率変数の尖度係数を返します。

@math{Rayleigh(b)}確率変数は @math{Weibull(2,1/b)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
Weibull尖度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c kurtosis_rayleigh(b);
@c assume(b>0)$ kurtosis_rayleigh(b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) kurtosis_rayleigh(b);
                                         1
(%o2)                kurtosis_weibull(2, -)
                                         b
(%i3) assume(b>0)$ kurtosis_rayleigh(b);
                                  2
                             3 %pi
                         2 - ------
                               16
(%o4)                    ---------- - 3
                              %pi 2
                         (1 - ---)
                               4
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_rayleigh (@var{b})
@deffnx {関数} random_rayleigh (@var{b},@var{n})
@math{b>0}で、 @math{Rayleigh(b)}確率変量を返します。
二番目の引数 @var{n}とともに@code{random_pareto}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn



@deffn {関数} pdf_laplace (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の密度函数の
@var{x}での値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_laplace (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_laplace (@var{q},@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の@var{q}-分位数を返します;
言い換えれば、これは @code{cdf_laplace}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_laplace (@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_laplace (@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_laplace (@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_laplace (@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_laplace (@var{a},@var{b})
@math{b>0}で、 @math{Laplace(a,b)}確率変数の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_laplace (@var{a},@var{b})
@deffnx {関数} random_laplace (@var{a},@var{b},@var{n})
@math{b>0}で、 @math{Laplace(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_laplace}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn



@deffn {関数} pdf_cauchy (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Cauchy(a,b)}確率変数の密度函数の@var{x}での値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_cauchy (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Cauchy(a,b)}確率変数の分布函数の@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_cauchy (@var{q},@var{a},@var{b})
@math{b>0}で、 @math{Cauchy(a,b)}確率変数の@var{q}-分位数を返します;
言い換えると、これは @code{cdf_cauchy}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_cauchy (@var{a},@var{b})
@deffnx {関数} random_cauchy (@var{a},@var{b},@var{n})
@math{b>0}で、 @math{Cauchy(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_cauchy}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn



@deffn {関数} pdf_gumbel (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の密度函数の@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_gumbel (@var{x},@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の分布函数の@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_gumbel (@var{q},@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の@var{q}-分位数を返します;
言い換えれば、これは @code{cdf_gumbel}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_gumbel (@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の平均を返します。

@c ===beg===
@c load ("distrib")$
@c assume(b>0)$  mean_gumbel(a,b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) assume(b>0)$  mean_gumbel(a,b);
(%o3)                     %gamma b + a
@end example
ここでシンボル @code{%gamma}は Euler-Mascheroni定数を表します。
@code{%gamma}も参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_gumbel (@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_gumbel (@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_gumbel (@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の歪度係数を返します。

@c ===beg===
@c load ("distrib")$
@c assume(b>0)$ skewness_gumbel(a,b);
@c numer:true$ skewness_gumbel(a,b);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) assume(b>0)$ skewness_gumbel(a,b);
                       12 sqrt(6) zeta(3)
(%o3)                  ------------------
                                 3
                              %pi
(%i4) numer:true$ skewness_gumbel(a,b);
(%o5)                   1.139547099404649
@end example
ここで、@code{zeta}はRiemannのゼータ函数を表します。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_gumbel (@var{a},@var{b})
@math{b>0}で、 @math{Gumbel(a,b)}確率変数の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_gumbel (@var{a},@var{b})
@deffnx {関数} random_gumbel (@var{a},@var{b},@var{n})
@math{b>0}で、 @math{Gumbel(a,b)}確率変量を返します。
三番目の引数 @var{n}とともに@code{random_gumbel}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは一般逆函数法に基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@node Functions and Variables for discrete distributions,  , Functions and Variables for continuous distributions, distrib
@section Functions and Variables for discrete distributions


@deffn {関数} pdf_general_finite_discrete (@var{x},@var{v})
@code{Pr(X=i) = v_i}のような
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
確率函数の
@var{x}での値を返します。
ベクトル @math{v}は非負式のリストであり得ます。
その成分は確率のベクトルを得るために規格化されます。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@c ===beg===
@c load ("distrib")$
@c pdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
@c pdf_general_finite_discrete(2, [1, 4, 2]);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) pdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
                                4
(%o2)                           -
                                7
(%i3) pdf_general_finite_discrete(2, [1, 4, 2]);
                                4
(%o3)                           -
                                7
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_general_finite_discrete (@var{x},@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
分布函数の
@var{x}での値を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@c ===beg===
@c load ("distrib")$
@c cdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
@c cdf_general_finite_discrete(2, [1, 4, 2]);
@c cdf_general_finite_discrete(2+1/2, [1, 4, 2]);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
                                5
(%o2)                           -
                                7
(%i3) cdf_general_finite_discrete(2, [1, 4, 2]);
                                5
(%o3)                           -
                                7
(%i4) cdf_general_finite_discrete(2+1/2, [1, 4, 2]);
                                5
(%o4)                           -
                                7
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_general_finite_discrete (@var{q},@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
@var{q}-分位数を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_general_finite_discrete (@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
平均を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_general_finite_discrete (@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
分散を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_general_finite_discrete (@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
標準偏差を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_general_finite_discrete (@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
歪度係数を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_general_finite_discrete (@var{v})
ベクトル確率 @math{v}を持つ
一般有限離散確率変数の
尖度係数を返します。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_general_finite_discrete (@var{v})
@deffnx {関数} random_general_finite_discrete (@var{v},@var{m})
ベクトル確率 @math{v}を持つ
一般有限離散確率変量を返します。
二番目の引数 @var{m}とともに@code{random_general_finite_discrete}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

さらなる詳細は @code{pdf_general_finite_discrete}を参照してください。

@c ===beg===
@c load ("distrib")$
@c random_general_finite_discrete([1,3,1,5]);
@c random_general_finite_discrete([1,3,1,5], 10);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) random_general_finite_discrete([1,3,1,5]);
(%o2)                          4
(%i3) random_general_finite_discrete([1,3,1,5], 10);
(%o3)           [4, 2, 2, 3, 2, 4, 4, 1, 2, 2]
@end example

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_binomial (@var{x},@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の確率函数の@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。
                                  4
(%o6)                             -
                                  7
@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_binomial (@var{x},@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の分布函数の@var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_binomial(5,7,1/6);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_binomial(5,7,1/6);
                            7775
(%o2)                       ----
                            7776
(%i3) float(%);
(%o3)               .9998713991769548
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_binomial (@var{q},@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の@var{q}-分位数を返します;
言い換えれば、これは @code{cdf_binomial}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変数の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_binomial (@var{n},@var{p})
@deffnx {関数} random_binomial (@var{n},@var{p},@var{m})
@math{0<p<1}かつ @math{n}は正の整数で、
@math{Binomial(n,p)}確率変量を返します。
三番目の引数 @var{m}とともに@code{random_binomial}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

実装アルゴリズムは
Kachitvichyanukul, V. and Schmeiser, B.W. (1988) @var{Binomial Random Variate Generation}. Communications of the ACM, 31, Feb., 216.に
記載されているものに基づいています。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_poisson (@var{x},@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の確率函数の @var{x}での値を返します。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_poisson (@var{x},@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の分布函数の @var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_poisson(3,5);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_poisson(3,5);
(%o2)       gamma_incomplete_regularized(4, 5)
(%i3) float(%);
(%o3)               .2650259152973623
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_poisson (@var{q},@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の @var{q}-分位数を返します;
言い換えると、これは @code{cdf_poisson}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなればいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_poisson (@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_poisson (@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_poisson (@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_poisson (@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_poisson (@var{m})
@math{m>0}で、 @math{Poisson(m)}確率変数の尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_poisson (@var{m})
@deffnx {関数} random_poisson (@var{m},@var{n})
@math{m>0}で、 @math{Poisson(m)}確率変量を返します。
二番目の引数 @var{n}とともに@code{random_binomial}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

実装アルゴリズムは
Ahrens, J.H. and Dieter, U. (1982) @var{Computer Generation of Poisson Deviates From Modified Normal Distributions}. ACM Trans. Math. Software, 8, 2, June,163-179.に記述されたものです。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_bernoulli (@var{x},@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の確率函数の
@var{x}での値を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項確率函数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c pdf_bernoulli(1,p);
@c assume(0<p,p<1)$ pdf_bernoulli(1,p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) pdf_bernoulli(1,p);
(%o2)                 pdf_binomial(1, 1, p)
(%i3) assume(0<p,p<1)$ pdf_bernoulli(1,p);
(%o4)                           p
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_bernoulli (@var{x},@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_bernoulli (@var{q},@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の@var{q}-分位数を返します;
言い換えると、これは @code{cdf_bernoulli}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_bernoulli (@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の平均を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項平均に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c mean_bernoulli(p);
@c assume(0<p,p<1)$ mean_bernoulli(p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) mean_bernoulli(p);
(%o2)                  mean_binomial(1, p)
(%i3) assume(0<p,p<1)$ mean_bernoulli(p);
(%o4)                           p
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_bernoulli (@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の分散を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項分散に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c var_bernoulli(p);
@c assume(0<p,p<1)$ var_bernoulli(p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) var_bernoulli(p);
(%o2)                  var_binomial(1, p)
(%i3) assume(0<p,p<1)$ var_bernoulli(p);
(%o4)                       (1 - p) p
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_bernoulli (@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の標準偏差を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項標準偏差に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c std_bernoulli(p);
@c assume(0<p,p<1)$ std_bernoulli(p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) std_bernoulli(p);
(%o2)                  std_binomial(1, p)
(%i3) assume(0<p,p<1)$ std_bernoulli(p);
(%o4)                  sqrt(1 - p) sqrt(p)
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_bernoulli (@var{p})
@math{0<p<1}で、  @math{Bernoulli(p)}確率変数の歪度係数を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項歪度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c skewness_bernoulli(p);
@c assume(0<p,p<1)$ skewness_bernoulli(p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) skewness_bernoulli(p);
(%o2)                skewness_binomial(1, p)
(%i3) assume(0<p,p<1)$ skewness_bernoulli(p);
                             1 - 2 p
(%o4)                  -------------------
                       sqrt(1 - p) sqrt(p)
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_bernoulli (@var{p})
@math{0<p<1}で、 @math{Bernoulli(p)}確率変数の尖度係数を返します。

@math{Bernoulli(p)}確率変数は @math{Binomial(1,p)}と同値です。
なので、
Maximaが結果を得るのに十分な情報を持たない時は、
二項尖度係数に基づいた名詞形を返します。

@c ===beg===
@c load ("distrib")$
@c kurtosis_bernoulli(p);
@c assume(0<p,p<1)$ kurtosis_bernoulli(p);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) kurtosis_bernoulli(p);
(%o2)                kurtosis_binomial(1, p)
(%i3) assume(0<p,p<1)$ kurtosis_bernoulli(p);
                         1 - 6 (1 - p) p
(%o4)                    ---------------
                            (1 - p) p
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_bernoulli (@var{p})
@deffnx {関数} random_bernoulli (@var{p},@var{n})
@math{0<p<1}で、 @math{Bernoulli(p)}確率変量を返します。
二番目の引数 @var{n}とともに@code{random_bernoulli}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

これは @code{random}組み込みMaxima関数の直接の応用です。

@code{random}も参照してください。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_geometric (@var{x},@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の確率函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_geometric (@var{x},@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_geometric (@var{q},@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_geometric}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_geometric (@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_geometric (@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_geometric (@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_geometric (@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_geometric (@var{p})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_geometric (@var{p})
@deffnx {関数} random_geometric (@var{p},@var{n})
@math{0<p<1}で、
@math{Geometric(p)}(幾何)確率変量を返します。
二番目の引数 @var{n}とともに@code{random_geometric}をコールすると、
サイズ @var{n}のランダムな標本がシミュレートされます。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_discrete_uniform (@var{x},@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の確率函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_discrete_uniform (@var{x},@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の分風函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_discrete_uniform (@var{q},@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_discrete_uniform}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_discrete_uniform (@var{n})
Returns the mean of a @math{Discrete Uniform(n)} random variable, with @math{n} a strictly positive integer.
この関数を利用するには、初めに @code{load("distrib")}を書いてください。
 To make use of this function, write first @code{load("distrib")}.

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_discrete_uniform (@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_discrete_uniform (@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_discrete_uniform (@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_discrete_uniform (@var{n})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_discrete_uniform (@var{n})
@deffnx {関数} random_discrete_uniform (@var{n},@var{m})
@math{n}が厳密に正の整数で、 @math{Discrete Uniform(n)}確率変量を返します。
二番目の引数 @var{m}とともに@code{random_discrete_unform}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

これは @code{random}組み込みMaxima関数の直接の応用です。

@code{random}も参照してください。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_hypergeometric (@var{x},@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
確率函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_hypergeometric (@var{x},@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
分布函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_hypergeometric (@var{q},@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
@var{q}-分位数を返します。
言い換えると、これは @code{cdf_hypergeometric}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_hypergeometric (@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
平均を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_hypergeometric (@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_hypergeometric (@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_hypergeometric (@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_hypergeometric (@var{n1},@var{n2},@var{n})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_hypergeometric (@var{n1},@var{n2},@var{n})
@deffnx {関数} random_hypergeometric (@var{n1},@var{n2},@var{n},@var{m})
@var{n1}, @var{n2}, @var{n}が非負整数でかつ @math{n<=n1+n2}で、
@math{Hypergeometric(n1,n2,n)}確率変量を返します。
四番目の引数 @var{m}とともに@code{random_hypergeometric}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

Kachitvichyanukul, V., Schmeiser, B.W. (1985) @var{Computer generation of hypergeometric random variates.} Journal of Statistical Computation and Simulation 22, 127-145.に記述されたアルゴリズム。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn


@deffn {関数} pdf_negative_binomial (@var{x},@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の確率函数の
@var{x}での値を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} cdf_negative_binomial (@var{x},@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の分布函数の
@var{x}での値を返します。

@c ===beg===
@c load ("distrib")$
@c cdf_negative_binomial(3,4,1/8);
@c float(%);
@c ===end===
@example
(%i1) load ("distrib")$
(%i2) cdf_negative_binomial(3,4,1/8);
                            3271
(%o2)                      ------
                           524288
(%i3) float(%);
(%o3)              .006238937377929687
@end example

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} quantile_negative_binomial (@var{q},@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の
@var{q}-分位数を返します;
言い換えると、これは @code{cdf_negative_binomial}の逆函数です。
引数 @var{q}は @math{[0,1]}の要素でなければいけません。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} mean_negative_binomial (@var{n},@var{p})
Returns the mean of a @math{Negative Binomial(n,p)} random variable, with @math{0<p<1} and @math{n} a positive integer.
この関数を利用するには、初めに @code{load("distrib")}を書いてください。
 To make use of this function, write first @code{load("distrib")}.

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} var_negative_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の
分散を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} std_negative_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の
標準偏差を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} skewness_negative_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の
歪度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} kurtosis_negative_binomial (@var{n},@var{p})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変数の
尖度係数を返します。
この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@closecatbox

@end deffn


@deffn {関数} random_negative_binomial (@var{n},@var{p})
@deffnx {関数} random_negative_binomial (@var{n},@var{p},@var{m})
@math{0<p<1}かつ @math{n}が正の整数で、
@math{Negative Binomial(n,p)}確率変量を返します。
三番目の引数 @var{m}とともに@code{random_negative_binomial}をコールすると、
サイズ @var{m}のランダムな標本がシミュレートされます。

Devroye, L. (1986) @var{Non-Uniform Random Variate Generation}. Springer Verlag, p. 480.に記載されたアルゴリズム。

この関数を利用するには、初めに @code{load("distrib")}を書いてください。

@opencatbox
@category{Package distrib}
@category{Random numbers}
@closecatbox

@end deffn
