yat/statistics/ln_pdf.h

Code
Comments
Other
Rev Date Author Line
4336 14 Apr 23 peter 1 #ifndef _theplu_yat_statistics_ln_pdf_
4336 14 Apr 23 peter 2 #define _theplu_yat_statistics_ln_pdf_
4336 14 Apr 23 peter 3
4336 14 Apr 23 peter 4 // $Id$
4336 14 Apr 23 peter 5
4336 14 Apr 23 peter 6 /*
4336 14 Apr 23 peter 7   Copyright (C) 2023 Peter Johansson
4336 14 Apr 23 peter 8
4336 14 Apr 23 peter 9   This file is part of the yat library, https://dev.thep.lu.se/trac/yat
4336 14 Apr 23 peter 10
4336 14 Apr 23 peter 11   The yat library is free software; you can redistribute it and/or
4336 14 Apr 23 peter 12   modify it under the terms of the GNU General Public License as
4336 14 Apr 23 peter 13   published by the Free Software Foundation; either version 3 of the
4336 14 Apr 23 peter 14   License, or (at your option) any later version.
4336 14 Apr 23 peter 15
4336 14 Apr 23 peter 16   The yat library is distributed in the hope that it will be useful,
4336 14 Apr 23 peter 17   but WITHOUT ANY WARRANTY; without even the implied warranty of
4336 14 Apr 23 peter 18   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4336 14 Apr 23 peter 19   General Public License for more details.
4336 14 Apr 23 peter 20
4336 14 Apr 23 peter 21   You should have received a copy of the GNU General Public License
4336 14 Apr 23 peter 22   along with yat. If not, see <https://www.gnu.org/licenses/>.
4336 14 Apr 23 peter 23 */
4336 14 Apr 23 peter 24
4336 14 Apr 23 peter 25 namespace theplu {
4336 14 Apr 23 peter 26 namespace yat {
4336 14 Apr 23 peter 27 namespace statistics {
4336 14 Apr 23 peter 28
4336 14 Apr 23 peter 29   /**
4336 14 Apr 23 peter 30      \f$ \ln (P) = k \ln (p) + (1-k) \ln (1-p) \f$
4336 14 Apr 23 peter 31
4336 14 Apr 23 peter 32      \return logarithm of probability to draw \c k from a Bernoulli(p)
4336 14 Apr 23 peter 33
4336 14 Apr 23 peter 34      \since New in yat 0.21
4336 14 Apr 23 peter 35    */
4336 14 Apr 23 peter 36   double bernoulli_ln_pdf(unsigned int k, double p);
4336 14 Apr 23 peter 37
4336 14 Apr 23 peter 38   /**
4336 14 Apr 23 peter 39      \f$ \ln (P) = \ln \left( {n \choose k} \right)
4336 14 Apr 23 peter 40      + k \ln (p) + (n-k) \ln (1-p) \f$
4336 14 Apr 23 peter 41
4336 14 Apr 23 peter 42      \return logarithm of probability to draw \c k from a Binomial(p, n)
4336 14 Apr 23 peter 43
4336 14 Apr 23 peter 44      \since New in yat 0.21
4336 14 Apr 23 peter 45    */
4336 14 Apr 23 peter 46   double binomial_ln_pdf(unsigned int k, double p, unsigned int n);
4336 14 Apr 23 peter 47
4336 14 Apr 23 peter 48   /**
4336 14 Apr 23 peter 49      \f$ \ln (pdf) = -\ln (m) - x/m \f$
4336 14 Apr 23 peter 50
4336 14 Apr 23 peter 51      \return logarithm of probability density function at \c x
4336 14 Apr 23 peter 52
4336 14 Apr 23 peter 53      \since New in yat 0.21
4336 14 Apr 23 peter 54    */
4336 14 Apr 23 peter 55   double exponential_ln_pdf(double x, double m);
4336 14 Apr 23 peter 56
4336 14 Apr 23 peter 57   /**
4336 14 Apr 23 peter 58      \f$ \ln (pdf) = - \frac{1}{2} \ln(2\pi s^2) -
4336 14 Apr 23 peter 59      \frac{1}{2} \frac{x^2}{s^2}\f$
4336 14 Apr 23 peter 60
4336 14 Apr 23 peter 61      \return logarithm of probability density function at \c x
4336 14 Apr 23 peter 62
4336 14 Apr 23 peter 63      \since New in yat 0.21
4336 14 Apr 23 peter 64    */
4336 14 Apr 23 peter 65   double gaussian_ln_pdf(double x, double s);
4336 14 Apr 23 peter 66
4336 14 Apr 23 peter 67   /**
4336 14 Apr 23 peter 68      \f$ \ln (pdf) = \ln(p) + (k-1)\ln(1-p) \f$
4336 14 Apr 23 peter 69
4336 14 Apr 23 peter 70      \return logarithm of probability to draw \c k from Geometric(p)
4336 14 Apr 23 peter 71
4336 14 Apr 23 peter 72      \since New in yat 0.21
4336 14 Apr 23 peter 73    */
4336 14 Apr 23 peter 74   double geometric_ln_pdf(unsigned int k, double p);
4336 14 Apr 23 peter 75
4336 14 Apr 23 peter 76   /**
4336 14 Apr 23 peter 77      \f$ \ln (pdf) = \ln \left({n1 \choose k}\right) +
4336 14 Apr 23 peter 78      \ln \left({n2 \choose t-k}\right) +
4336 14 Apr 23 peter 79      \ln \left({n1+n2 \choose t}\right) \f$
4336 14 Apr 23 peter 80
4336 14 Apr 23 peter 81      \return logarithm of probability to draw \c k from
4336 14 Apr 23 peter 82      HyperGeometric(n1, n2, t)
4336 14 Apr 23 peter 83
4336 14 Apr 23 peter 84      \since New in yat 0.21
4336 14 Apr 23 peter 85    */
4336 14 Apr 23 peter 86   double hypergeometric_ln_pdf(unsigned int k, unsigned int n1,
4336 14 Apr 23 peter 87                                 unsigned int n2, unsigned int t);
4336 14 Apr 23 peter 88
4336 14 Apr 23 peter 89   /**
4336 14 Apr 23 peter 90      When \c n is an integer
4336 14 Apr 23 peter 91      \f$ \ln (pdf) = \ln \left({n+k-1 \choose k}\right) +
4336 14 Apr 23 peter 92      n \ln (p) + k \ln (1-p) \f$
4336 14 Apr 23 peter 93
4336 14 Apr 23 peter 94      \return logarithm of probability to draw \c k from
4336 14 Apr 23 peter 95      NegativeBinomial(p,n)
4336 14 Apr 23 peter 96
4336 14 Apr 23 peter 97      \since New in yat 0.21
4336 14 Apr 23 peter 98    */
4336 14 Apr 23 peter 99   double negative_binomial_ln_pdf(unsigned int k, double p, double n);
4336 14 Apr 23 peter 100
4336 14 Apr 23 peter 101   /**
4336 14 Apr 23 peter 102      \f$ \ln(pdf) = \ln \left({k+t+1 \choose k} \right) +
4336 14 Apr 23 peter 103      \ln \left({n1+n2-t-k \choose n1-k} \right) -
4336 14 Apr 23 peter 104      \ln \left({n1+n2 \choose n1} \right) \f$
4336 14 Apr 23 peter 105
4336 14 Apr 23 peter 106      \return logarithm of probability to draw \c k from
4336 14 Apr 23 peter 107      NegativeHyperGeometric(n1, n2, t)
4336 14 Apr 23 peter 108
4336 14 Apr 23 peter 109      \since New in yat 0.21
4336 14 Apr 23 peter 110    */
4336 14 Apr 23 peter 111   double negative_hypergeometric_ln_pdf(unsigned int k, unsigned int n1,
4336 14 Apr 23 peter 112                                          unsigned int n2, unsigned int t);
4336 14 Apr 23 peter 113
4336 14 Apr 23 peter 114   /**
4336 14 Apr 23 peter 115      \f$ \ln(pdf) = k \ln(m) - m - \ln(k!) \f$
4336 14 Apr 23 peter 116
4336 14 Apr 23 peter 117
4336 14 Apr 23 peter 118      \return logarithm of probability to draw \c k from
4336 14 Apr 23 peter 119      NegativeHyperGeometric(n1, n2, t)
4336 14 Apr 23 peter 120
4336 14 Apr 23 peter 121      \since New in yat 0.21
4336 14 Apr 23 peter 122    */
4336 14 Apr 23 peter 123   double poisson_ln_pdf(unsigned int k, double m);
4336 14 Apr 23 peter 124
4336 14 Apr 23 peter 125   /**
4336 14 Apr 23 peter 126      \f$ \ln (pdf) = - \frac{1}{2} \ln(2\pi) - \frac{x^2}{2}\f$
4336 14 Apr 23 peter 127
4336 14 Apr 23 peter 128      \return logarithm of probability density function at \c x
4336 14 Apr 23 peter 129
4336 14 Apr 23 peter 130      \since New in yat 0.21
4336 14 Apr 23 peter 131    */
4336 14 Apr 23 peter 132   double ugaussian_ln_pdf(double x);
4336 14 Apr 23 peter 133
4336 14 Apr 23 peter 134 }}} // of namespace statistics, yat, and theplu
4336 14 Apr 23 peter 135
4336 14 Apr 23 peter 136 #endif