3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Exponential Distribution</title>
5 <link rel="stylesheet" href="../../../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../dists.html" title="Distributions">
9 <link rel="prev" href="empirical_cdf.html" title="Empirical Cumulative Distribution Function">
10 <link rel="next" href="extreme_dist.html" title="Extreme Value Distribution">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="empirical_cdf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="math_toolkit.dist_ref.dists.exp_dist"></a><a class="link" href="exp_dist.html" title="Exponential Distribution">Exponential Distribution</a>
28 </h4></div></div></div>
29 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">exponential</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
30 <pre class="programlisting"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
31 <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter 20. Policies: Controlling Precision, Error Handling etc">Policy</a> <span class="special">=</span> <a class="link" href="../../pol_ref/pol_ref_ref.html" title="Policy Class Reference">policies::policy<></a> <span class="special">></span>
32 <span class="keyword">class</span> <span class="identifier">exponential_distribution</span><span class="special">;</span>
34 <span class="keyword">typedef</span> <span class="identifier">exponential_distribution</span><span class="special"><></span> <span class="identifier">exponential</span><span class="special">;</span>
36 <span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../../policy.html" title="Chapter 20. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">></span>
37 <span class="keyword">class</span> <span class="identifier">exponential_distribution</span>
38 <span class="special">{</span>
39 <span class="keyword">public</span><span class="special">:</span>
40 <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
41 <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
43 <span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
45 <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
46 <span class="special">};</span>
49 The <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">exponential
50 distribution</a> is a <a href="http://en.wikipedia.org/wiki/Probability_distribution" target="_top">continuous
51 probability distribution</a> with PDF:
53 <div class="blockquote"><blockquote class="blockquote"><p>
54 <span class="inlinemediaobject"><img src="../../../../equations/exponential_dist_ref1.svg"></span>
56 </p></blockquote></div>
58 It is often used to model the time between independent events that happen
59 at a constant average rate.
62 The following graph shows how the distribution changes for different values
63 of the rate parameter lambda:
65 <div class="blockquote"><blockquote class="blockquote"><p>
66 <span class="inlinemediaobject"><img src="../../../../graphs/exponential_pdf.svg" align="middle"></span>
68 </p></blockquote></div>
70 <a name="math_toolkit.dist_ref.dists.exp_dist.h0"></a>
71 <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.member_functions"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.member_functions">Member
74 <pre class="programlisting"><span class="identifier">exponential_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span> <span class="special">=</span> <span class="number">1</span><span class="special">);</span>
77 Constructs an <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Exponential
78 distribution</a> with parameter <span class="emphasis"><em>lambda</em></span>. Lambda
79 is defined as the reciprocal of the scale parameter.
82 Requires lambda > 0, otherwise calls <a class="link" href="../../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>.
84 <pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
87 Accessor function returns the lambda parameter of the distribution.
90 <a name="math_toolkit.dist_ref.dists.exp_dist.h1"></a>
91 <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.non_member_accessors"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.non_member_accessors">Non-member
95 All the <a class="link" href="../nmp.html" title="Non-Member Properties">usual non-member accessor
96 functions</a> that are generic to all distributions are supported:
97 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.cdf">Cumulative Distribution Function</a>,
98 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.pdf">Probability Density Function</a>,
99 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.quantile">Quantile</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.hazard">Hazard Function</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.chf">Cumulative Hazard Function</a>,
100 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mean">mean</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.median">median</a>,
101 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.mode">mode</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.variance">variance</a>,
102 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.sd">standard deviation</a>,
103 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.skewness">skewness</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis">kurtosis</a>, <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.kurtosis_excess">kurtosis_excess</a>,
104 <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.range">range</a> and <a class="link" href="../nmp.html#math_toolkit.dist_ref.nmp.support">support</a>.
107 The domain of the random variable is [0, +∞].
110 <a name="math_toolkit.dist_ref.dists.exp_dist.h2"></a>
111 <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.accuracy"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.accuracy">Accuracy</a>
114 The exponential distribution is implemented in terms of the standard library
115 functions <code class="computeroutput"><span class="identifier">exp</span></code>, <code class="computeroutput"><span class="identifier">log</span></code>, <code class="computeroutput"><span class="identifier">log1p</span></code>
116 and <code class="computeroutput"><span class="identifier">expm1</span></code> and as such should
117 have very low error rates.
120 <a name="math_toolkit.dist_ref.dists.exp_dist.h3"></a>
121 <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.implementation"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.implementation">Implementation</a>
124 In the following table λ is the parameter lambda of the distribution, <span class="emphasis"><em>x</em></span>
125 is the random variate, <span class="emphasis"><em>p</em></span> is the probability and <span class="emphasis"><em>q
128 <div class="informaltable"><table class="table">
154 Using the relation: pdf = λ * exp(-λ * x)
166 Using the relation: p = 1 - exp(-x * λ) = -expm1(-x * λ)
178 Using the relation: q = exp(-x * λ)
190 Using the relation: x = -log(1-p) / λ = -log1p(-p) / λ
197 quantile from the complement
202 Using the relation: x = -log(q) / λ
281 <a name="math_toolkit.dist_ref.dists.exp_dist.h4"></a>
282 <span class="phrase"><a name="math_toolkit.dist_ref.dists.exp_dist.references"></a></span><a class="link" href="exp_dist.html#math_toolkit.dist_ref.dists.exp_dist.references">references</a>
284 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
285 <li class="listitem">
286 <a href="http://mathworld.wolfram.com/ExponentialDistribution.html" target="_top">Weisstein,
287 Eric W. "Exponential Distribution." From MathWorld--A Wolfram
290 <li class="listitem">
291 <a href="http://documents.wolfram.com/calccenter/Functions/ListsMatrices/Statistics/ExponentialDistribution.html" target="_top">Wolfram
292 Mathematica calculator</a>
294 <li class="listitem">
295 <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda3667.htm" target="_top">NIST
296 Exploratory Data Analysis</a>
298 <li class="listitem">
299 <a href="http://en.wikipedia.org/wiki/Exponential_distribution" target="_top">Wikipedia
300 Exponential distribution</a>
304 (See also the reference documentation for the related <a class="link" href="extreme_dist.html" title="Extreme Value Distribution">Extreme
307 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
308 <a href="http://www.worldscibooks.com/mathematics/p191.html" target="_top">Extreme
309 Value Distributions, Theory and Applications Samuel Kotz & Saralees
310 Nadarajah</a> discuss the relationship of the types of extreme
314 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
315 <td align="left"></td>
316 <td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
317 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
318 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
319 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
320 Daryle Walker and Xiaogang Zhang<p>
321 Distributed under the Boost Software License, Version 1.0. (See accompanying
322 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
327 <div class="spirit-nav">
328 <a accesskey="p" href="empirical_cdf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="extreme_dist.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>