@c Language: Brazilian Portuguese, Encoding: iso-8859-1
@c /distrib.texi/1.5/Sat Jun  2 00:13:18 2007//
@menu
* Introdu@value{cedilha}@~{a}o a distrib::
* Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es cont@'{i}nuas::
* Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es discretas::
@end menu

@node Introdu@value{cedilha}@~{a}o a distrib, Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es cont@'{i}nuas, distrib, distrib
@section Introdu@value{cedilha}@~{a}o a distrib


Pacote @code{distrib} cont@'{e}m um conjunto de fun@value{cedilha}@~{o}es para fazer c@'{a}lculos 
envolvendo probabilidades de modelos de uma @'{u}nica vari@'{a}vel estat@'{i}stica e de 
ambos os tipos discreta e cont@'{i}nua. 

O que segue @'{e} um curto resumo de defini@value{cedilha}oes b@'{a}sicas
relacionadas @`a teoria das probabilidades.

Seja @math{f(x)} a @var{fun@value{cedilha}@~{a}o densidade de probabilidade} absoluta 
de uma vari@'{a}vel aleat@'{o}ria cont@'{i}nua @math{X}. A @var{fun@value{cedilha}@~{a}o 
distribui@value{cedilha}@~{a}o de probabilidade} @'{e} definida como
@ifhtml
@example
                       x
                      /
                      [
               F(x) = I     f(u) du
                      ]
                      /
                       minf
@end example
@end ifhtml
@ifinfo
@example
                       x
                      /
                      [
               F(x) = I     f(u) du
                      ]
                      /
                       minf
@end example
@end ifinfo
@tex
$$F\left(x\right)=\int_{ -\infty }^{x}{f\left(u\right)\;du}$$
@end tex
que @'{e} igual @`a probabilidade @var{Pr(X <= x)}.

O valor @var{m@'{e}dio} @'{e} um par@^{a}metro de localiza@value{cedilha}@~{a}o e est@'{a} definido como
@ifhtml
@example
                     inf
                    /
                    [
           E[X]  =  I   x f(x) dx
                    ]
                    /
                     minf
@end example
@end ifhtml
@ifinfo
@example
                     inf
                    /
                    [
           E[X]  =  I   x f(x) dx
                    ]
                    /
                     minf
@end example
@end ifinfo
@tex
$$E\left[X\right]=\int_{ -\infty }^{\infty }{x\,f\left(x\right)\;dx}$$
@end tex

A @var{vari@^{a}ncia} @'{e} uma medida de varia@value{cedilha}@~{a}o,
@ifhtml
@example
                 inf
                /
                [                    2
         V[X] = I     f(x) (x - E[X])  dx
                ]
                /
                 minf
@end example
@end ifhtml
@ifinfo
@example
                 inf
                /
                [                    2
         V[X] = I     f(x) (x - E[X])  dx
                ]
                /
                 minf
@end example
@end ifinfo
@tex
$$V\left[X\right]=\int_{ -\infty }^{\infty }{f\left(x\right)\,\left(x
 -E\left[X\right]\right)^2\;dx}$$
@end tex
que @'{e} um n@'{u}mero real positivo. A ra@'{i}z quadrada da vari@^{a}ncia @'{e} o
@var{desvio padr@~{a}o}, @math{D[X]=sqrt(V[X])}, e esse @var{desvio padr@~{a}o}
@'{e} outra medida de varia@value{cedilha}@~{a}o.

O @var{coeficiente de assimetria} @'{e} uma medida de n@~{a}o simetria,
@ifhtml
@example
                 inf
                /
            1   [                    3
  SK[X] = ----- I     f(x) (x - E[X])  dx
              3 ]
          D[X]  /
                 minf
@end example
@end ifhtml
@ifinfo
@example
                 inf
                /
            1   [                    3
  SK[X] = ----- I     f(x) (x - E[X])  dx
              3 ]
          D[X]  /
                 minf
@end example
@end ifinfo
@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

E o @var{coeficiente de curtose} mede o grau de achatamento de uma distribui@value{cedilha}@~{a}o,
@ifhtml
@example
                 inf
                /
            1   [                    4
  KU[X] = ----- I     f(x) (x - E[X])  dx - 3
              4 ]
          D[X]  /
                 minf
@end example
@end ifhtml
@ifinfo
@example
                 inf
                /
            1   [                    4
  KU[X] = ----- I     f(x) (x - E[X])  dx - 3
              4 ]
          D[X]  /
                 minf
@end example
@end ifinfo
@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
Se @math{X} for gaussiana, @math{KU[X]=0}. De fato, ambos assimetria e curtose s@~{a}o
par@^{a}metros de ajuste usados para medir a n@~{a}o gaussianidade de uma distribui@value{cedilha}@~{a}o.

Se a vari@'{a}vel aleat@'{o}ria @math{X} for discreta, a fun@value{cedilha}@~{a}o densidade
de probabilidade, ou simplesmente @var{probabilidade}, @math{f(x)} toma valores
positivos dentro de certos conjuntos cont@'{a}veis de n@'{u}meros @math{x_i},
e zero em caso contr@'{a}rio. Nesse caso, a fun@value{cedilha}@~{a}o
distribui@value{cedilha}@~{a}o de probabilidade @'{e}
@ifhtml
@example
                       ====
                       \
                F(x) =  >    f(x )
                       /        i
                       ====
                      x <= x
                       i
@end example
@end ifhtml
@ifinfo
@example
                       ====
                       \
                F(x) =  >    f(x )
                       /        i
                       ====
                      x <= x
                       i
@end example
@end ifinfo
@tex
$$F\left(x\right)=\sum_{x_{i}\leq x}{f\left(x_{i}\right)}$$
@end tex

A m@'{e}dia, vari@^{a}ncia, desvio padr@~{a}o, coeficiente de assimetria e coeficiente de curtose tomam a forma
@ifhtml
@example
                       ====
                       \
                E[X] =  >  x  f(x ) ,
                       /    i    i
                       ====
                        x 
                         i
@end example
@end ifhtml
@ifinfo
@example
                       ====
                       \
                E[X] =  >  x  f(x ) ,
                       /    i    i
                       ====
                        x 
                         i
@end example
@end ifinfo
@tex
$$E\left[X\right]=\sum_{x_{i}}{x_{i}f\left(x_{i}\right)},$$
@end tex

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

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

@ifhtml
@example
                     ====
              1      \                     3
  SK[X] =  -------    >    f(x ) (x - E[X])  
           D[X]^3    /        i    i
                     ====
                      x
                       i
@end example
@end ifhtml
@ifinfo
@example
                     ====
              1      \                     3
  SK[X] =  -------    >    f(x ) (x - E[X])  
           D[X]^3    /        i    i
                     ====
                      x
                       i
@end example
@end ifinfo
@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
@ifhtml
@example
                     ====
              1      \                     4
  KU[X] =  -------    >    f(x ) (x - E[X])   - 3 ,
           D[X]^4    /        i    i
                     ====
                      x
                       i
@end example
@end ifhtml
@ifinfo
@example
                     ====
              1      \                     4
  KU[X] =  -------    >    f(x ) (x - E[X])   - 3 ,
           D[X]^4    /        i    i
                     ====
                      x
                       i
@end example
@end ifinfo
@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
respectively.

O Pacote @code{distrib} inclui fun@value{cedilha}@~{o}es para simula@value{cedilha}@~{a}o de
vari@'{a}veis estat@'{i}sticas pseudo-aleat@'{o}rias. Algumas dessas fun@value{cedilha}@~{o}es
fazem uso de vari@'{a}veis opcionais que indicam o algor@'{i}tmo a ser usado.
O m@'{e}todo inverso gen@'{e}rico (baseado no fato que se
@var{u} for um n@'{u}mero aleat@'{o}rio uniforme no intervalo @math{(0,1)},
ent@~{a}o @var{F^(-1)(u)} @'{e} uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria
com distribui@value{cedilha}@~{a}o @math{F}) est@'{a} implementada para a maioria dos casos;
isso @'{e} um m@'{e}todo sub@'{o}timo em termos de cronometragem, mas @'{u}til para
fazer compara@value{cedilha}@~{o}es com outros algor@'{i}tmos. Nesse exemplo, a
@code{perandom_formance} dos algor@'{i}tmos @code{ahrens_cheng} e
@code{inverse} em simular  vari@'{a}veis chi-quadradas (letra grega "chi") 
s@~{a}o comparadas por meio de seus histogramas:

@example
(%i1) load(distrib)$
(%i2) load(descriptive)$
(%i3) showtime: true$
Evaluation took 0.00 seconds (0.00 elapsed) using 32 bytes.
(%i4) random_chi2_algorithm: 'ahrens_cheng$ histogram(random_chi2(10,500))$
Evaluation took 0.00 seconds (0.00 elapsed) using 40 bytes.
Evaluation took 0.69 seconds (0.71 elapsed) using 5.694 MB.
(%i6) random_chi2_algorithm: 'inverse$ histogram(random_chi2(10,500))$
Evaluation took 0.00 seconds (0.00 elapsed) using 32 bytes.
Evaluation took 10.15 seconds (10.17 elapsed) using 322.098 MB.
@end example

Com o objetivo de fazer compara@value{cedilha}@~{o}es visuais entre algor@'{i}tmos para uma
vari@'{a}vel estat@'{i}stica discreta, a fun@value{cedilha}@~{a}o @code{barsplot} do pacote
@code{descriptive} pode ser usada.

Note que algum trabalho resta para ser realizado, uma vez que essas fun@value{cedilha}@~{o}es
de simula@value{cedilha}@~{a}o n@~{a}o foram ainda verificadas pelos mais rigorosamente
melhores dos testes de ajuste.

Por favor, consulte um manual introdut@'{o}rio sobre probabilidade e estat@'{i}stica
para maiores informa@value{cedilha}@~{o}es sobre todo esse material matem@'{a}tico.

Existe uma conven@value{cedilha}@~{a}o de nome no pacote @code{distrib}. Todo nome de
fun@value{cedilha}@~{a}o tem duas partes, a primeira faz refer@^{e}ncia @`a fun@value{cedilha}@~{a}o
ou ao par@^{a}metro que queremos calcular,
@example
Fun@value{cedilha}@~{o}es:
   fun@value{cedilha}@~{a}o densidade de probabilidade            (pdf_*)
   fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade       (cdf_*)
   Quartil                    (quantile_*)
   M@'{e}dia                        (mean_*)
   Vari@^{a}ncia                    (var_*)
   Desvio padr@~{a}o          (std_*)
   Coeficiente de assimetria        (skewness_*)
   Coeficiente de curtose        (kurtosis_*)
   Vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria              (random_*)
@end example

A segunda parte @'{e} uma refer@^{e}ncia expl@'{i}cita ao modelo probabil@'{i}stico,
@example
Distribu@'{i}@value{cedilha}@~{o}es cont@'{i}nuas:
   Normal              (*normal)
   Student             (*student_t)
   Chi^2               (*chi2)
   F                   (*f)
   Exponencial         (*exp)
   Lognormal           (*lognormal)
   Gama               (*gamma)
   Beta                (*beta)
   cont@'{i}nua uniforme  (*continuous_uniform)
   Log@'{i}stica            (*logistic)
   Pareto              (*pareto)
   Weibull             (*weibull)
   Rayleigh            (*rayleigh)
   Laplace             (*laplace)
   Cauchy              (*cauchy)
   Gumbel              (*gumbel)

Distribui@value{cedilha}@~{o}es discretas:
   Binomial             (*binomial)
   Poisson              (*poisson)
   Bernoulli            (*bernoulli)
   Geom@'{e}trica            (*geometric)
   discreta uniforme     (*discrete_uniform)
   hipergeom@'{e}trica       (*hypergeometric)
   Binomial Negativa    (*negative_binomial)
@end example

Por exemplo, @code{pdf_student_t(x,n)} @'{e} a fun@value{cedilha}@~{a}o densidade de
probabilidade da distribui@value{cedilha}@~{a}o de Student com @var{n} graus de liberdade,
@code{std_pareto(a,b)} @'{e} o desvio padr@~{a}o da distribui@value{cedilha}@~{a}o de
Pareto com par@^{a}metros @var{a} e @var{b} e @code{kurtosis_poisson(m)}
@'{e} o coeficiente de curtose da distribui@value{cedilha}@~{a}o de Poisson com m@'{e}dia @var{m}.


Com o objetivo de fazer uso do pacote @code{distrib} voc@^{e} precisa primeiro
tornar esse pacote dispon@'{i}vel para uso escrevendo
@example
(%i1) load(distrib)$
@end example

Para coment@'{a}rios, melhorias ou sugest@~{o}es, por favor contacte o autor em
@var{'mario AT edu DOT xunta DOT es'}.

@node Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es cont@'{i}nuas, Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es discretas, Introdu@value{cedilha}@~{a}o a distrib, distrib
@section Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es cont@'{i}nuas

@deffn {Fun@value{cedilha}@~{a}o} pdf_normal (@var{x},@var{m},@var{s})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade
de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)}, com @math{s>0}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_normal (@var{x},@var{m},@var{s})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)}, com @math{s>0}. Essa
fun@value{cedilha}@~{a}o @'{e} definida em termos de fun@value{cedilha}@~{o}es de erro internas do
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

Veja tamb@'{e}m @code{erf}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_normal (@var{q},@var{m},@var{s})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)}, com
@math{s>0}; em outras palavras, isso @'{e} o inverso de @code{cdf_normal}. O argumento
@var{q} deve ser um elemento de @math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_normal (@var{m},@var{s})
Retorna a m@'{e}dia de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)}, com
@math{s>0}, a saber @var{m}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_normal (@var{m},@var{s})
Retorna a vari@^{a}ncia de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)}, com
@math{s>0}, a saber @var{s^2}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_normal (@var{m},@var{s})
Retorna o desvio padr@~{a}o de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)},
com @math{s>0}, a saber @var{s}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_normal (@var{m},@var{s})
Retorna o coeficiente de assimetria de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)},
com @math{s>0}, que @'{e} sempre igual  a 0. Para fazer uso dessa fun@value{cedilha}@~{a}o,escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_normal (@var{m},@var{s})
Retorna o coeficiente de curtose de uma  vari@'{a}vel aleat@'{o}ria @math{Normal(m,s)},
com @math{s>0}, que @'{e} sempre igual  a 0. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_normal_algorithm
Valor padr@~{a}o: @code{box_mueller}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis aleat@'{o}rias normais.
O algor@'{i}tmos implementados s@~{a}o @code{box_mueller} e @code{inverse}:
@itemize @bullet
@item
@code{box_mueller}, Baseado no algor@'{i}tmo descrito em Knuth, D.E. (1981)
@var{Seminumerical Algorithms. The Art of Computer Programming.} Addison-Wesley.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.
@end itemize

Veja tamb@'{e}m @code{random_normal}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_normal (@var{m},@var{s})
@deffnx {Fun@value{cedilha}@~{a}o} random_normal (@var{m},@var{s},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Normal(m,s)},
com @math{s>0}. Chamando @code{random_normal} com um terceiro argumento
@var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, e o algor@'{i}tmo
a ser usado pode ser selecionado fornecendo um certo valor para a vari@'{a}vel global
@code{random_normal_algorithm}, cujo valor padr@~{a}o @'{e}
@code{box_mueller}.

Veja tamb@'{e}m @code{random_normal_algorithm}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_student_t (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria de Student @math{t(n)}, com @math{n>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_student_t (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de
uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)}, com @math{n>0}. Essa fun@value{cedilha}@~{a}o
n@~{a}o tem uma forma definitiva e @'{e} calculada numericamente
se a
vari@'{a}vel global
@code{numer} for igual a @code{true},  de outra froma @code{cdf_student_t} retorna uma
express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_student_t(1/2, 7/3);
@c %,numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_student_t(1/2, 7/3);
                                     1  7
(%o2)                  cdf_student_t(-, -)
                                     2  3
(%i3) %,numer;
(%o3)                   .6698450596140417
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_student_t (@var{q},@var{n})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)},
com @math{n>0}; em outras palavras, @code{quantile_student_t} @'{e} o inverso de
@code{cdf_student_t}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_student_t (@var{n})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)}, com
@math{n>0}, que @'{e} sempre igual a 0. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_student_t (@var{n})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)}, com @math{n>2}.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_student_t (@var{n})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)},
com @math{n>2}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_student_t (@var{n})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)},
com @math{n>3}, que @'{e} sempre igual a 0. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_student_t (@var{n})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria de Student @math{t(n)},
com @math{n>4}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_student_t_algorithm
Valor padr@~{a}o: @code{ratio}

Esse @'{e} o  algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas pseudo-aleat@'{o}rias
de Student. Algor@'{i}tmos implementados s@~{a}o @code{inverse} e @code{ratio}:
@itemize @bullet
@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.


@item
@code{ratio}, baseado no fato que se @var{Z} for uma vari@'{a}vel aleat@'{o}ria normal @math{N(0,1)} e
@math{S^2} for uma vari@'{a}vel aleat@'{o}ria chi quadrada com @var{n} graus de liberdade,
@math{Chi^2(n)}, ent@~{a}o
@ifhtml
@example
                           Z
                 X = -------------
                     /   2  \ 1/2
                     |  S   |
                     | ---  |
                     \  n   /
@end example
@end ifhtml
@ifinfo
@example
                           Z
                 X = -------------
                     /   2  \ 1/2
                     |  S   |
                     | ---  |
                     \  n   /
@end example
@end ifinfo
@tex
$$X={{Z}\over{\sqrt{{S^2}\over{n}}}}$$
@end tex
@'{e} uma vari@'{a}vel aleat@'{o}ria de Student com @var{n} graus de liberdade, @math{t(n)}.
@end itemize

Veja tamb@'{e}m @code{random_student_t}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_student_t (@var{n})
@deffnx {Fun@value{cedilha}@~{a}o} random_student_t (@var{n},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria de Student @math{t(n)},
com @math{n>0}. Chamando @code{random_student_t} com um segundo argumento
@var{m}, uma amostra aleat@'{o}ria de tamanho @var{m} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode
selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel
global @code{random_student_t_algorithm}, cujo valor padr@~{a}o @'{e} @code{ratio}.

Veja tamb@'{e}m @code{random_student_t_algorithm}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_chi2 (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria Chi-quadrada @math{Chi^2(n)}, com @math{n>0}.

A  vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
portanto quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o para pegar o resultado, uma
forma nomial baseada na fun@value{cedilha}@~{a}o de densidade densidade de probabilidade da
fun@value{cedilha}@~{a}o  gama @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_chi2 (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada @math{Chi^2(n)}, com @math{n>0}.

Essa fun@value{cedilha}@~{a}o n@~{a}o possui uma forma fechada e @'{e} calculada numericamante
se a vari@'{a}vel global @code{numer} for igual a @code{true},  de outra forma essa
fun@value{cedilha}@~{a}o retorna uma express@~{a}o nominal baseada na 
distribui@value{cedilha}@~{a}o gama, uma vez
que a vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)}
@'{e} equivalente a    @'{e} equivalente a @math{Gamma(n/2,2)}.

@c ===beg===
@c load (distrib)$
@c cdf_chi2(3,4);
@c cdf_chi2(3,4),numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_chi2(3,4);
(%o2)                  cdf_gamma(3, 2, 2)
(%i3) cdf_chi2(3,4),numer;
(%o3)                   .4421745996289249
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_chi2 (@var{q},@var{n})
Retorna o @var{q}-quantilede uma vari@'{a}vel aleat@'{o}ria Chi-quadrada @math{Chi^2(n)},
com @math{n>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_chi2}. O argumento @var{q} deve ser um elemento
de
@math{[0,1]}.

This fun@value{cedilha}@~{a}o n@~{a}o possui uma forma fechada e @'{e} calculada numericamante se
a vari@'{a}vel global @code{numer} for igual a @code{true},  de outra forma essa
fun@value{cedilha}@~{a}o retorna uma express@~{a}o nominal baseada no quantil da fun@value{cedilha}@~{a}o
gama, uma vez que a vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_chi2 (@var{n})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada @math{Chi^2(n)}, com @math{n>0}.

A vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na m@'{e}dia da fun@value{cedilha}@~{a}o gama @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_chi2 (@var{n})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada @math{Chi^2(n)}, com @math{n>0}.

A vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na vari@^{a}ncia da fun@value{cedilha}@~{a}o gama
@'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_chi2 (@var{n})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada
@math{Chi^2(n)}, com @math{n>0}.

A vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no desvio padr@~{a}o da fun@value{cedilha}@~{a}o
gama @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_chi2 (@var{n})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada
@math{Chi^2(n)}, com @math{n>0}.

A vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de assimetria da
fun@value{cedilha}@~{a}o gama @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_chi2 (@var{n})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria Chi-quadrada
@math{Chi^2(n)}, com @math{n>0}.

A vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)} @'{e} equivalente a @math{Gamma(n/2,2)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de curtose da fun@value{cedilha}@~{a}o gama @'{e} retornada.

@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
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_chi2_algorithm
Valor padr@~{a}o: @code{ahrens_cheng}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}stica pseudo-aleat@'{o}rias
Chi-quadradas. Os algor@'{i}tmos implementados s@~{a}o @code{ahrens_cheng} e @code{inverse}:
@itemize @bullet

@item
@code{ahrens_cheng}, baseado na simula@value{cedilha}@~{a}o aleat@'{o}ria de vari@'{a}veis gama.
Veja @code{random_gamma_algorithm} para mais detalhes.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_chi2}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_chi2 (@var{n})
@deffnx {Fun@value{cedilha}@~{a}o} random_chi2 (@var{n},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria Chi-square @math{Chi^2(n)},
com @math{n>0}. Chamando @code{random_chi2} com um segundo argumento @var{m},
uma amostra aleat@'{o}ria de tamanho @var{m} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode selecionar o
algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global
@code{random_chi2_algorithm}, cujo valor padr@~{a}o @'{e}
@code{ahrens_cheng}.

Veja tamb@'{e}m @code{random_chi2_algorithm}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_f (@var{x},@var{m},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m,n>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_f (@var{x},@var{m},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de
uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m,n>0}. Essa fun@value{cedilha}@~{a}o
n@~{a}o possui uma forma definitiva e @'{e} calculada numericamente se
a
vari@'{a}vel global
@code{numer} for igual a @code{true},  de outra forma retorna uma express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_f(2,3,9/4);
@c %,numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_f(2,3,9/4);
                                     9
(%o2)                    cdf_f(2, 3, -)
                                     4
(%i3) %,numer;
(%o3)                   0.66756728179008
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_f (@var{q},@var{m},@var{n})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m,n>0};
em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} o inverso de @code{cdf_f}. O argumento @var{q} deve ser um elemento de @math{[0,1]}.

Essa fun@value{cedilha}@~{a}o n@~{a}o possui uma forma fechada e @'{e} calculada numericamante se a
vari@'{a}vel global @code{numer} for igual a @code{true},  de outra forma essa fun@value{cedilha}@~{a}o
retorna uma express@~{a}o nominal.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_f (@var{m},@var{n})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m>0, n>2}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_f (@var{m},@var{n})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m>0, n>4}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_f (@var{m},@var{n})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)}, com @math{m>0, n>4}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_f (@var{m},@var{n})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)},
com @math{m>0, n>6}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_f (@var{m},@var{n})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria F, @math{F(m,n)},
com @math{m>0, n>8}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_f_algorithm
Valor padr@~{a}o: @code{inverse}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas
pseudo-aleat@'{o}rias F. Os algor@'{i}tmos implementados s@~{a}o @code{ratio}
e @code{inverse}:
@itemize @bullet

@item
@code{ratio}, baseado no fato de que se @var{X} for uma vari@'{a}vel aleat@'{o}ria
@math{Chi^2(m)} e @math{Y} for uma vari@'{a}vel aleat@'{o}ria @math{Chi^2(n)},
ent@~{a}o
@ifhtml
@example
                        n X
                    F = ---
                        m Y
@end example
@end ifhtml
@ifinfo
@example
                        n X
                    F = ---
                        m Y
@end example
@end ifinfo
@tex
$$F={{n X}\over{m Y}}$$
@end tex
@'{e} uma vari@'{a}vel aleat@'{o}ria F com @var{m} e @var{n} graus de liberdade, @math{F(m,n)}.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_f}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_f (@var{m},@var{n})
@deffnx {Fun@value{cedilha}@~{a}o} random_f (@var{m},@var{n},@var{k})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria F, @math{F(m,n)},
com @math{m,n>0}. Chamando @code{random_f} com um terceiro argumento
@var{k}, uma amostra aleat@'{o}ria de tamanho @var{k} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode selecionar
o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global
@code{random_f_algorithm}, cujo valor padr@~{a}o @'{e} @code{inverse}.

Veja tamb@'{e}m @code{random_f_algorithm}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} pdf_exp (@var{x},@var{m})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade
vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a
@math{Weibull(1,1/m)}, embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o
dispon@'{i}vel para pegar o resultado, uma forma nominal baseada na fun@value{cedilha}@~{a}o
de densidade de probabilidade de Weibull @'{e}retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_exp (@var{x},@var{m})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na distribui@value{cedilha}@~{a}o de
Weibull @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_exp (@var{q},@var{m})
Retorna o @var{q}-quantil vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0};
em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} inversa da fun@value{cedilha}@~{a}o @code{cdf_exp}.
O argumento @var{q} deve ser um elemento de @math{[0,1]}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no qualtil de Weibull @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_exp (@var{m})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na m@'{e}dia de Weibull @'{e}
reornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_exp (@var{m})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na vari@^{a}ncia de Weibull
@'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_exp (@var{m})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no desvio padr@~{a}o de
Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_exp (@var{m})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de assimetria
de Weibull
@'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_exp (@var{m})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Exponential(m)}, com @math{m>0}.

A vari@'{a}vel aleat@'{o}ria @math{Exponential(m)} @'{e} equivalente a @math{Weibull(1,1/m)}, embora
quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado, uma forma nominal
baseada no coeficiente de curtose de Weibull @'{e} retornada.

@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
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_exp_algorithm
Valor padr@~{a}o: @code{inverse}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis exponenciais estat@'{i}stica
pseudo-aleat@'{o}rias. Os algor@'{i}tmos implementados s@~{a}o @code{inverse},
@code{ahrens_cheng} e @code{ahrens_dieter}
@itemize @bullet

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@item
@code{ahrens_cheng}, baseado no fato de que a vari@'{a}vel aleat@'{o}ria @math{Exp(m)}
@'{e} equivalente a @math{Gamma(1,1/m)}. Veja @code{random_gamma_algorithm}
para maiores detalhes.

@item
@code{ahrens_dieter}, baseado no algor@'{i}tmo descrito em Ahrens, J.H. e Dieter, U. (1972)
@var{Computer methods for sampling from the exponential and normal distributions.}
Comm, ACM, 15, Oct.,  873-882.

@end itemize

Veja tamb@'{e}m @code{random_exp}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_exp (@var{m})
@deffnx {Fun@value{cedilha}@~{a}o} random_exp (@var{m},@var{k})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Exponential(m)},
com @math{m>0}. Chamando @code{random_exp} com um segundo argumento
@var{k}, uma amostra aleat@'{o}ria de tamanho @var{k} ser@'{a} simulada.

Existem tr@^{e}s algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode
selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global
@code{random_exp_algorithm}, cujo valor padr@~{a}o @'{e} @code{inverse}.

Veja tamb@'{e}m @code{random_exp_algorithm}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_lognormal (@var{x},@var{m},@var{s})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)}, com @math{s>0}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_lognormal (@var{x},@var{m},@var{s})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)}, com @math{s>0}. Essa
fun@value{cedilha}@~{a}o @'{e} definida em termos de fun@value{cedilha}@~{o}es @code{erf}de erro
internas do Maxima.

@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

Veja tamb@'{e}m @code{erf}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_lognormal (@var{q},@var{m},@var{s})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_lognormal}. O argumento @var{q} deve ser um elemento de @math{[0,1]}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_lognormal (@var{m},@var{s})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)}, com @math{s>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_lognormal (@var{m},@var{s})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_lognormal (@var{m},@var{s})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_lognormal (@var{m},@var{s})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_lognormal (@var{m},@var{s})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_lognormal (@var{m},@var{s})
@deffnx {Fun@value{cedilha}@~{a}o} random_lognormal (@var{m},@var{s},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Lognormal(m,s)},
com @math{s>0}. Chamando @code{random_lognormal} com um terceiro argumento
@var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Vari@'{a}veis Log-normal s@~{a}o simuladas por meio de vari@'{a}veis estat@'{i}sticas normais
pseudo-aleat@'{o}rias. Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se
pode selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor
@`a vari@'{a}vel global
@code{random_normal_algorithm}, cujo valor padr@~{a}o @'{e} @code{box_mueller}.

Veja tamb@'{e}m @code{random_normal_algorithm}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_gamma (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)}, com @math{a,b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_gamma (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de
uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)}, com @math{a,b>0}. 

Essa fun@value{cedilha}@~{a}o n@~{a}o possui uma forma fechada e @'{e} calculada numericamante se
a vari@'{a}vel global @code{numer} for igual a @code{true},  de outra forma essa fun@value{cedilha}@~{a}o
retorna uma express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_gamma(3,5,21);
@c %,numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_gamma(3,5,21);
(%o2)                  cdf_gamma(3, 5, 21)
(%i3) %,numer;
(%o3)                 4.402663157135039E-7
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_gamma (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_gamma}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_gamma (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_gamma (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)}, com
@math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_gamma (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_gamma (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_gamma (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_gamma_algorithm
Valor padr@~{a}o: @code{ahrens_cheng}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}stica gama
pseudo-aleat@'{o}rias. Os algor@'{i}tmos implementados s@~{a}o @code{ahrens_cheng}
e @code{inverse}
@itemize @bullet

@item
@code{ahrens_cheng}, essa @'{e} uma combina@value{cedilha}@~{a}o de dois processos, dependendo
do valor do par@^{a}metro @var{a}:

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

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

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_gamma}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_gamma (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_gamma (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Gamma(a,b)},
com @math{a,b>0}. Chamando @code{random_gamma} com um terceiro argumento
@var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode selecionar
o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global @code{random_gamma_algorithm}, cujo valor padr@~{a}o @'{e}
@code{ahrens_cheng}.

Veja tamb@'{e}m @code{random_gamma_algorithm}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_beta (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma vari@'{a}vel
aleat@'{o}ria @math{Beta(a,b)}, com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} cdf_beta (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de
uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)}, com @math{a,b>0}. 

Essa fun@value{cedilha}@~{a}o n@~{a}o possui uma forma fechada e @'{e} calculada numericamante se a
vari@'{a}vel global @code{numer} for igual a @code{true},  de outra forma essa fun@value{cedilha}@~{a}o
retorna uma express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_beta(1/3,15,2);
@c %,numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_beta(1/3,15,2);
                                 1
(%o2)                   cdf_beta(-, 15, 2)
                                 3
(%i3) %,numer;
(%o3)                 7.666089131388224E-7
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_beta (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)}, com
@math{a,b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_beta}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para
fazer uso dessa
fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_beta (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)}, com @math{a,b>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_beta (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)}, com @math{a,b>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_beta (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)}, com @math{a,b>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_beta (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_beta (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Beta(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_beta_algorithm
Valor padr@~{a}o: @code{cheng}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas beta
pseudo-aleat@'{o}rias. Os algor@'{i}tmos implementados s@~{a}o @code{cheng},
@code{inverse} e @code{ratio}
@itemize @bullet

@item
@code{cheng}, esse @'{e} o algor@'{i}tmo definido em Cheng, R.C.H.  (1978). 
@var{Generating Beta Variates with Nonintegral Shape Parameters}.
Communications of the ACM, 21:317-322

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@item
@code{ratio}, baseado no fato de que se @var{X} for uma vari@'{a}vel aleat@'{o}ria
@math{Gamma(a,1)} e @var{Y} for @math{Gamma(b,1)}, ent@~{a}o a raz@~{a}o @math{X/(X+Y)}
est@'{a} distribu@'{i}da como @math{Beta(a,b)}.

@end itemize

Veja tamb@'{e}m @code{random_beta}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_beta (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_beta (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Beta(a,b)},
com @math{a,b>0}. Chamando @code{random_beta} com um terceiro argumento @var{n},
uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Existem tr@^{e}s algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode selecionar
o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global
@code{random_beta_algorithm}, cujo valor padr@~{a}o @'{e} @code{cheng}.

Veja tamb@'{e}m @code{random_beta_algorithm}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} pdf_continuous_uniform (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)}, com @math{a<b}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_continuous_uniform (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)}, com @math{a<b}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_continuous_uniform (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_continuous_uniform}. O argumento @var{q} deve
ser um elemento
de @math{[0,1]}.
Para
fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_continuous_uniform (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_continuous_uniform (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_continuous_uniform (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_continuous_uniform (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_continuous_uniform (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_continuous_uniform (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_continuous_uniform (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Continuous Uniform(a,b)},
com @math{a<b}. Chamando @code{random_continuous_uniform} com um terceiro
argumento @var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Essa @'{e} uma aplica@value{cedilha}@~{a}o direta da fun@value{cedilha}@~{a}o @code{random} interna do Maxima.

Veja tamb@'{e}m @code{random}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_logistic (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de
uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} , com @math{b>0}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_logistic (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)}, com @math{b>0}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_logistic (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} , com
@math{b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_logistic}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}.
Para fazer uso
dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} meanlog (@var{a},@var{b})
Retorna a m@'{e}dia de uma @math{Logistic(a,b)} vari@'{a}vel aleat@'{o}ria , com @math{b>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_logistic (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} , com @math{b>0}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_logistic (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} ,
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_logistic (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} ,
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_logistic (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Logistic(a,b)} ,
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_logistic (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_logistic (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Logistic(a,b)}, com @math{b>0}.
Chamando @code{random_logistic} com um terceiro argumento @var{n}, uma
amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_pareto (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)}, com @math{a,b>0}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_pareto (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)}, com @math{a,b>0}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_pareto (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantile de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)},
com @math{a,b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_pareto}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para
fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_pareto (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)}, com
@math{a>1,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_pareto (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)},
com @math{a>2,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_pareto (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)},
com @math{a>2,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} skewness_pareto (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria
@math{Pareto(a,b)}, com @math{a>3,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_pareto (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Pareto(a,b)},
com @math{a>4,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_pareto (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_pareto (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Pareto(a,b)}, com
@math{a>0,b>0}. Chamando @code{random_pareto} com um terceiro
argumento @var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_weibull (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)}, com @math{a,b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_weibull (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)}, com @math{a,b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_weibull (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_weibull}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_weibull (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)}, com
@math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_weibull (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn

@deffn {Fun@value{cedilha}@~{a}o} std_weibull (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} skewness_weibull (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_weibull (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_weibull (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_weibull (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Weibull(a,b)},
com @math{a,b>0}. Chamando @code{random_weibull} com um terceiro argumento
@var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} pdf_rayleigh (@var{x},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na fun@value{cedilha}@~{a}o densidade de probabilidade de Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_rayleigh (@var{x},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o
resultado, uma forma nominal baseada na distribui@value{cedilha}@~{a}o de Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_rayleigh (@var{q},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com
@math{b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_rayleigh}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no quantil de Weibull @'{e}
retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_rayleigh (@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na meia de Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_rayleigh (@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na vari@^{a}ncia de Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_rayleigh (@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na Weibull desvio padr@~{a}o @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_rayleigh (@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de assimetria de Weibull  @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_rayleigh (@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.

A vari@'{a}vel aleat@'{o}ria @math{Rayleigh(b)} @'{e} equivalente a @math{Weibull(2,1/b)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de curtose de Weibull @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_rayleigh (@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_rayleigh (@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Rayleigh(b)}, com @math{b>0}.
Chamando @code{random_rayleigh} com um segundo argumento @var{n}, uma amostra aleat@'{o}ria
de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} pdf_laplace (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)}, com @math{b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_laplace (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)}, com @math{b>0}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_laplace (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)}, com
@math{b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_laplace}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_laplace (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_laplace (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_laplace (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_laplace (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_laplace (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Laplace(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_laplace (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_laplace (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Laplace(a,b)}, com @math{b>0}.
Chamando @code{random_laplace} com um terceiro argumento @var{n}, uma
amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} pdf_cauchy (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Cauchy(a,b)}, com @math{b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_cauchy (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Cauchy(a,b)}, com @math{b>0}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_cauchy (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Cauchy(a,b)}, com
@math{b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_cauchy}. O argumento @var{q} deve ser um elemento de @math{[0,1]}. Para
fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_cauchy (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_cauchy (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo aleat@'{o}ria @math{Cauchy(a,b)}, com @math{b>0}.
Chamando @code{random_cauchy} com um terceiro argumento @var{n}, uma amostra
aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn



@deffn {Fun@value{cedilha}@~{a}o} pdf_gumbel (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o densidade de probabilidade de uma vari@'{a}vel
aleat@'{o}ria @math{Gumbel(a,b)}, com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_gumbel (@var{x},@var{a},@var{b})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)}, com @math{b>0}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_gumbel (@var{q},@var{a},@var{b})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)}, com
@math{b>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o
@code{cdf_gumbel}. O argumento @var{q} deve ser um elemento de @math{[0,1]}. Para
fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_gumbel (@var{a},@var{b})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)}, com @math{b>0}.

@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
onde o s@'{i}mbolol @code{%gamma} representa a constante de Euler-Mascheroni.
Veja tamb@'{e}m @code{%gamma}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_gumbel (@var{a},@var{b})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_gumbel (@var{a},@var{b})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_gumbel (@var{a},@var{b})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)}, com @math{b>0}.

@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
onde @code{zeta} representa a fun@value{cedilha}@~{a}o zeta de Riemann.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_gumbel (@var{a},@var{b})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Gumbel(a,b)},
com @math{b>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_gumbel (@var{a},@var{b})
@deffnx {Fun@value{cedilha}@~{a}o} random_gumbel (@var{a},@var{b},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Gumbel(a,b)},
com @math{b>0}. Chamando @code{random_gumbel} com um terceiro argumento @var{n},
uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Somente o m@'{e}todo inverso gen@'{e}rico est@'{a} implementado. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@node Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es discretas,  , Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es cont@'{i}nuas, distrib
@section Fun@value{cedilha}@~{o}es e Vari@'{a}veis Definidas para distribui@value{cedilha}@~{o}es discretas


@deffn {Fun@value{cedilha}@~{a}o} pdf_binomial (@var{x},@var{n},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma @math{Binomial(n,p)}
vari@'{a}vel aleat@'{o}ria, com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_binomial (@var{x},@var{n},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma @math{Binomial(n,p)} vari@'{a}vel aleat@'{o}ria, com @math{0<p<1} e @math{n} um inteiro positivo.

@code{cdf_binomial} @'{e} calculada num@'{e}ricamente se a vari@'{a}vel global @code{numer}
for igual a @code{true},  de outra forma @code{cdf_binomial} retorna uma express@~{a}o nominal.

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


@deffn {Fun@value{cedilha}@~{a}o} quantile_binomial (@var{q},@var{n},@var{p})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo; em outras palavras, essa
fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o @code{cdf_binomial}. O argumento
@var{q} deve ser um elemento de @math{[0,1]}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_binomial (@var{n},@var{p})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Binomial(n,p)}, com
@math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_binomial (@var{n},@var{p})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_binomial (@var{n},@var{p})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_binomial (@var{n},@var{p})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria 
@math{Binomial(n,p)}, com @math{0<p<1} e @math{n} um inteiro positivo. Para
fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_binomial (@var{n},@var{p})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_binomial_algorithm
Valor padr@~{a}o: @code{kachit}

Esse @'{e} o algor@'{i}tmo selecionado para simular rvari@'{a}veis estat@'{i}sticas pseudo-aleat@'{o}rias
binomiais. Os algor@'{i}tmos implementados s@~{a}o @code{kachit}, @code{bernoulli} e @code{inverse}:
@itemize @bullet

@item
@code{kachit}, baseado no algor@'{i}tmo descrito em Kachitvichyanukul, V. and
Schmeiser, B.W. (1988) @var{Binomial Random Variate Generation}. Communications of the ACM, 31, Feb., 216.

@item
@code{bernoulli}, baseado na simula@value{cedilha}@~{a}o testes de Bernoulli.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_binomial}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_binomial (@var{n},@var{p})
@deffnx {Fun@value{cedilha}@~{a}o} random_binomial (@var{n},@var{p},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Chamando @code{random_binomial}
com um terceiro argumento @var{m}, uma amostra aleat@'{o}ria de tamanho @var{m} ser@'{a}
simulada.

Existem tr@^{e}s algor@'{i}tmos implementado para essa fun@value{cedilha}@~{a}o, se pode
selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel
global @code{random_binomial_algorithm}, cujo valor padr@~{a}o @'{e} @code{kachit}.

Veja tamb@'{e}m @code{random_binomial_algorithm}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_poisson (@var{x},@var{m})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Poisson(m)}, com @math{m>0}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_poisson (@var{x},@var{m})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de
probabilidade de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)}, com @math{m>0}.

Essa fun@value{cedilha}@~{a}o @'{e} calculada num@'{e}ricamente se a vari@'{a}vel global
@code{numer} for igual a @code{true},  de outra forma essa fun@value{cedilha}@~{a}o
retorna uma express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_poisson(3,5);
@c cdf_poisson(3,5), numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_poisson(3,5);
(%o2)                   cdf_poisson(3, 5)
(%i3) cdf_poisson(3,5), numer;
(%o3)                   .2650259152973617
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_poisson (@var{q},@var{m})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)},
com @math{m>0}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_poisson}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_poisson (@var{m})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)},
com @math{m>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_poisson (@var{m})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)},
com  @math{m>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_poisson (@var{m})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)},
com @math{m>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_poisson (@var{m})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Poisson(m)},
com @math{m>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_poisson (@var{m})
Retorna o coeficiente de curtose de uma Poisson vari@'{a}vel aleat@'{o}ria  @math{Poi(m)},
com @math{m>0}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_poisson_algorithm
Valor padr@~{a}o: @code{ahrens_dieter}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas
pseudo-aleat@'{o}rias de Poisson.Os algor@'{i}tmos implementados s@~{a}o @code{ahrens_dieter} e @code{inverse}:
@itemize @bullet

@item
@code{ahrens_dieter}, baseado no algor@'{i}tmo descrito em 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.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_poisson}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_poisson (@var{m})
@deffnx {Fun@value{cedilha}@~{a}o} random_poisson (@var{m},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Poisson(m)}, com @math{m>0}.
Chamando @code{random_poisson} com um segundo argumento @var{n}, uma amostra
aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementado para essa fun@value{cedilha}@~{a}o, se pode selecionar o
algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global 
@code{random_poisson_algorithm}, cujo valor padr@~{a}o @'{e}
@code{ahrens_dieter}.

Veja tamb@'{e}m @code{random_poisson_algorithm}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_bernoulli (@var{x},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a @math{Binomial(1,p)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o
resultado, uma forma nominal baseada na fun@value{cedilha}@~{a}o binomial de
probabilidade @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_bernoulli (@var{x},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de
probabilidade de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.
Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_bernoulli (@var{q},@var{p})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)},
com @math{0<p<1}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_bernoulli}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_bernoulli (@var{p})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a @math{Binomial(1,p)}, embora
quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado, uma forma
nominal baseada na m@'{e}dia binomial @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_bernoulli (@var{p})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a @math{Binomial(1,p)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada na vari@^{a}ncia binomial @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_bernoulli (@var{p})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a
@math{Binomial(1,p)}, embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o
dispon@'{i}vel para pegar o resultado, uma forma nominal baseada no desvio
padr@~{a}o binomial @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_bernoulli (@var{p})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a @math{Binomial(1,p)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de assimetria binomial @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_bernoulli (@var{p})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)}, com @math{0<p<1}.

A vari@'{a}vel aleat@'{o}ria @math{Bernoulli(p)} @'{e} equivalente a @math{Binomial(1,p)},
embora quando Maxima n@~{a}o tiver informa@value{cedilha}@~{a}o dispon@'{i}vel para pegar o resultado,
uma forma nominal baseada no coeficiente de curtose binomial @'{e} retornada.

@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
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_bernoulli (@var{p})
@deffnx {Fun@value{cedilha}@~{a}o} random_bernoulli (@var{p},@var{n})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Bernoulli(p)},
com @math{0<p<1}. Chamando @code{random_bernoulli} com um segundo
argumento @var{n}, uma amostra aleat@'{o}ria de tamanho @var{n} ser@'{a} simulada.

Essa @'{e} uma aplica@value{cedilha}@~{a}o direta da fun@value{cedilha}@~{a}o @code{random} built-in fun@value{cedilha}@~{a}o do Maxima.

Veja tamb@'{e}m @code{random}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_geometric (@var{x},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma vari@'{a}vel
aleat@'{o}ria @math{Geometric(p)}, com @math{0<p<1}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_geometric (@var{x},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)}, com @math{0<p<1}. Para fazer
uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_geometric (@var{q},@var{p})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)},
com @math{0<p<1}; em outras palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da
fun@value{cedilha}@~{a}o @code{cdf_geometric}. O argumento @var{q} deve ser um elemento de
@math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_geometric (@var{p})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)},
com @math{0<p<1}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_geometric (@var{p})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)},
com @math{0<p<1}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_geometric (@var{p})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)},
com @math{0<p<1}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_geometric (@var{p})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Geometric(p)},
com @math{0<p<1}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_geometric (@var{p})
Retorna o coeficiente de curtose de uma geometric vari@'{a}vel aleat@'{o}ria  @math{Geo(p)},
com @math{0<p<1}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_geometric_algorithm
Valor padr@~{a}o: @code{bernoulli}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas pseudo-aleat@'{o}rias
geom@'{e}tricas. Algor@'{i}tmos implementados s@~{a}o @code{bernoulli}, @code{devroye} e @code{inverse}:
@itemize @bullet

@item
@code{bernoulli}, baseado na simula@value{cedilha}@~{a}o de testes de Bernoulli.

@item
@code{devroye}, baseado no algor@'{i}tmo descrito em Devroye, L. (1986)
@var{Non-Uniform Random Variate Generation.} Springer Verlag, p. 480.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_geometric}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_geometric (@var{p})
@deffnx {Fun@value{cedilha}@~{a}o} random_geometric (@var{p},@var{n})
Retorna um @math{Geometric(p)} vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria, com @math{0<p<1}.
Chamando @code{random_geometric} com um segundo argumento @var{n}, uma amostra aleat@'{o}ria
de tamanho @var{n} ser@'{a} simulada.

Existem tr@^{e}s algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se
pode selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor @`a
vari@'{a}vel global @code{random_geometric_algorithm}, cujo valor padr@~{a}o @'{e}
@code{bernoulli}.

Veja tamb@'{e}m @code{random_geometric_algorithm}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_discrete_uniform (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma vari@'{a}vel
aleat@'{o}ria @math{Discrete Uniform(n)}, com @math{n} a strictly positive integer. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_discrete_uniform (@var{x},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)}, com @math{n} inteiro
estritamente positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_discrete_uniform (@var{q},@var{n})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo; em outras palavras, essa
fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o @code{cdf_discrete_uniform}. O
argumento @var{q} deve ser um elemento de @math{[0,1]}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_discrete_uniform (@var{n})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_discrete_uniform (@var{n})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_discrete_uniform (@var{n})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_discrete_uniform (@var{n})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_discrete_uniform (@var{n})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} random_discrete_uniform (@var{n})
@deffnx {Fun@value{cedilha}@~{a}o} random_discrete_uniform (@var{n},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Discrete Uniform(n)},
com @math{n} um inteiro estritamente positivo. Chamando @code{random_discrete_uniform}
com um segundo argumento @var{m}, uma amostra aleat@'{o}ria de
tamanho @var{m} ser@'{a} simulada.

Isso @'{e} uma aplica@value{cedilha}@~{a}o direta da fun@value{cedilha}@~{a}o @code{random} built-in fun@value{cedilha}@~{a}o do Maxima.

Veja tamb@'{e}m @code{random}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_hypergeometric (@var{x},@var{n1},@var{n2},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma
vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)}, com @var{n1}, @var{n2}
e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_hypergeometric (@var{x},@var{n1},@var{n2},@var{n})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de
probabilidade de uma vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Para
fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_hypergeometric (@var{q},@var{n1},@var{n2},@var{n})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}; em outras
palavras, essa fun@value{cedilha}@~{a}o @'{e} a inversa da fun@value{cedilha}@~{a}o @code{cdf_hypergeometric}.
O argumento @var{q} deve ser um elemento de @math{[0,1]}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_hypergeometric (@var{n1},@var{n2},@var{n})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria discreta univorme
@math{Hyp(n1,n2,n)}, com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos
e @math{n<=n1+n2}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_hypergeometric (@var{n1},@var{n2},@var{n})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria hipergeom@'{e}trica
@math{Hyp(n1,n2,n)}, com @var{n1}, @var{n2} e @var{n} inteiros
n@~{a}o negativos e @math{n<=n1+n2}. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_hypergeometric (@var{n1},@var{n2},@var{n})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente
@code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_hypergeometric (@var{n1},@var{n2},@var{n})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_hypergeometric (@var{n1},@var{n2},@var{n})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn

@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_hypergeometric_algorithm
Valor padr@~{a}o: @code{kachit}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas pseudo
aleat@'{o}rias hipergeom@'{e}tricas.Os algor@'{i}tmos implementados s@~{a}o @code{kachit} e @code{inverse}:
@itemize @bullet

@item
@code{kachit}, baseado no algor@'{i}tmo descrito em Kachitvichyanukul, V., Schmeiser, B.W. (1985)
@var{Computer generation of hypergeometric vari@'{a}veis estat@'{i}stica pseudo-aleat@'{o}rias.} Journal
of Statistical Computation and Simulation 22, 127-145.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_hypergeometric}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_hypergeometric (@var{n1},@var{n2},@var{n})
@deffnx {Fun@value{cedilha}@~{a}o} random_hypergeometric (@var{n1},@var{n2},@var{n},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Hypergeometric(n1,n2,n)},
com @var{n1}, @var{n2} e @var{n} inteiros n@~{a}o negativos e @math{n<=n1+n2}. Chamando
@code{random_hypergeometric} com um quarto argumento @var{m}, uma amostra
aleat@'{o}ria de tamanho @var{m} ser@'{a} simulada.

Existem dois algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode selecionar o
algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global @code{random_hypergeometric_algorithm},
cujo valor padr@~{a}o @'{e} @code{kachit}.

Veja tamb@'{e}m @code{random_hypergeometric_algorithm}. Para fazer uso
dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} pdf_negative_binomial (@var{x},@var{n},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o de probabilidade de uma vari@'{a}vel
aleat@'{o}ria @math{Negative Binomial(n,p)}, com @math{0<p<1} e @math{n} um inteiro
positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} cdf_negative_binomial (@var{x},@var{n},@var{p})
Retorna o valor em @var{x} da fun@value{cedilha}@~{a}o distribui@value{cedilha}@~{a}o de probabilidade
de uma @math{Negative Binomial(n,p)} vari@'{a}vel aleat@'{o}ria, com @math{0<p<1} e @math{n} um inteiro positivo.

Essa fun@value{cedilha}@~{a}o @'{e} calculada num@'{e}ricamente se a vari@'{a}vel global @code{numer} for
igual a @code{true},  de outra forma essa fun@value{cedilha}@~{a}o retorna uma express@~{a}o nominal.

@c ===beg===
@c load (distrib)$
@c cdf_negative_binomial(3,4,1/8);
@c cdf_negative_binomial(3,4,1/8), numer;
@c ===end===
@example
(%i1) load (distrib)$
(%i2) cdf_negative_binomial(3,4,1/8);
                                             1
(%o2)            cdf_negative_binomial(3, 4, -)
                                             8
(%i3) cdf_negative_binomial(3,4,1/8), numer;
(%o3)                  .006238937377929698
@end example
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} quantile_negative_binomial (@var{q},@var{n},@var{p})
Retorna o @var{q}-quantil de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo; em outras palavras, essa fun@value{cedilha}@~{a}o
@'{e} a inversa da fun@value{cedilha}@~{a}o @code{cdf_negative_binomial}. O argumento @var{q} deve ser
um elemento de @math{[0,1]}. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} mean_negative_binomial (@var{n},@var{p})
Retorna a m@'{e}dia de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} var_negative_binomial (@var{n},@var{p})
Retorna a vari@^{a}ncia de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} std_negative_binomial (@var{n},@var{p})
Retorna o desvio padr@~{a}o de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o,
escreva primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} skewness_negative_binomial (@var{n},@var{p})
Retorna o coeficiente de assimetria de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@deffn {Fun@value{cedilha}@~{a}o} kurtosis_negative_binomial (@var{n},@var{p})
Retorna o coeficiente de curtose de uma vari@'{a}vel aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Para fazer uso dessa fun@value{cedilha}@~{a}o, escreva
primeiramente @code{load(distrib)}.
@end deffn


@defvr {Vari@'{a}vel de op@value{cedilha}@~{a}o} random_negative_binomial_algorithm
Valor padr@~{a}o: @code{bernoulli}

Esse @'{e} o algor@'{i}tmo selecionado para simular vari@'{a}veis estat@'{i}sticas pseuso-aleat@'{o}rias
binomiais negativas. Os algor@'{i}tmos implementados s@~{a}o @code{devroye}, @code{bernoulli}
e @code{inverse}:
@itemize @bullet

@item
@code{devroye}, baseado no algor@'{i}tmo descrito em Devroye, L. (1986)
@var{Non-Uniform Random Variate Generation}. Springer Verlag, p. 480.

@item
@code{bernoulli}, baseado na simula@value{cedilha}@~{a}o de testes de Bernoulli.

@item
@code{inverse}, baseado no m@'{e}todo inverso gen@'{e}rico.

@end itemize

Veja tamb@'{e}m @code{random_negative_binomial}.
@end defvr


@deffn {Fun@value{cedilha}@~{a}o} random_negative_binomial (@var{n},@var{p})
@deffnx {Fun@value{cedilha}@~{a}o} random_negative_binomial (@var{n},@var{p},@var{m})
Retorna uma vari@'{a}vel estat@'{i}stica pseudo-aleat@'{o}ria @math{Negative Binomial(n,p)},
com @math{0<p<1} e @math{n} um inteiro positivo. Chamando @code{random_negative_binomial}
com um terceiro argumento @var{m}, uma amostra aleat@'{o}ria de tamanho
@var{m} ser@'{a} simulada.

Existem tr@^{e}s algor@'{i}tmos implementados para essa fun@value{cedilha}@~{a}o, se pode
selecionar o algor@'{i}tmo a ser usado fornecendo um certo valor @`a vari@'{a}vel global
@code{random_negative_binomial_algorithm}, cujo valor padr@~{a}o @'{e} @code{bernoulli}.

Veja tamb@'{e}m @code{random_negative_binomial_algorithm}. Para fazer uso dessa
fun@value{cedilha}@~{a}o, escreva primeiramente @code{load(distrib)}.
@end deffn
