| [section:laplace_dist Laplace Distribution] |
| |
| ``#include <boost/math/distributions/laplace.hpp>`` |
| |
| namespace boost{ namespace math{ |
| |
| template <class RealType = double, |
| class ``__Policy`` = ``__policy_class`` > |
| class laplace_distribution; |
| |
| typedef laplace_distribution<> laplace; |
| |
| template <class RealType, class ``__Policy``> |
| class laplace_distribution |
| { |
| public: |
| typedef RealType value_type; |
| typedef Policy policy_type; |
| // Construct: |
| laplace_distribution(RealType location = 0, RealType scale = 1); |
| // Accessors: |
| RealType location()const; |
| RealType scale()const; |
| }; |
| |
| }} // namespaces |
| |
| Laplace distribution is the distribution of differences between two independent variates |
| with identical exponential distributions (Abramowitz and Stegun 1972, p. 930). |
| It is also called the double exponential distribution. |
| |
| [/ Wikipedia definition is The difference between two independent identically distributed |
| exponential random variables is governed by a Laplace distribution.] |
| |
| For location parameter [mu][space] and scale parameter [sigma][space] it is defined by the |
| probability density function: |
| |
| [equation laplace_pdf] |
| |
| The location and scale parameters are equivalent to the mean and |
| standard deviation of the normal or Gaussian distribution. |
| |
| The following graph illustrates the effect of the |
| parameters [mu][space] and [sigma][space] on the PDF. |
| Note that the range of the random |
| variable remains \[-[infin],+[infin]\] irrespective of the value of the |
| location parameter: |
| |
| [graph laplace_pdf] |
| |
| [h4 Member Functions] |
| |
| laplace_distribution(RealType location = 0, RealType scale = 1); |
| |
| Constructs a laplace distribution with location /location/ and |
| scale /scale/. |
| |
| The location parameter is the same as the mean of the random variate. |
| |
| The scale parameter is proportional to the standard deviation of the random variate. |
| |
| Requires that the scale parameter is greater than zero, otherwise calls |
| __domain_error. |
| |
| RealType location()const; |
| |
| Returns the /location/ parameter of this distribution. |
| |
| RealType scale()const; |
| |
| Returns the /scale/ parameter of this distribution. |
| |
| [h4 Non-member Accessors] |
| |
| All the [link math_toolkit.dist.dist_ref.nmp usual non-member accessor functions] that are generic to all |
| distributions are supported: __usual_accessors. |
| |
| The domain of the random variable is \[-[infin],+[infin]\]. |
| |
| [h4 Accuracy] |
| |
| The laplace distribution is implemented in terms of the |
| standard library log and exp functions and as such should have very small errors. |
| |
| [h4 Implementation] |
| |
| In the following table [mu] is the location parameter of the distribution, |
| [sigma] is its scale parameter, /x/ is the random variate, /p/ is the probability |
| and its complement /q = 1-p/. |
| |
| [table |
| [[Function][Implementation Notes]] |
| [[pdf][Using the relation: pdf = e[super -abs(x-[mu]) \/ [sigma]] \/ (2 * [sigma]) ]] |
| [[cdf][Using the relations: |
| |
| x < [mu] : p = e[super (x-[mu])/[sigma] ] \/ [sigma] |
| |
| x >= [mu] : p = 1 - e[super ([mu]-x)/[sigma] ] \/ [sigma] |
| ]] |
| [[cdf complement][Using the relation: |
| |
| -x < [mu] : q = e[super (-x-[mu])/[sigma] ] \/ [sigma] |
| |
| -x >= [mu] : q = 1 - e[super ([mu]+x)/[sigma] ] \/ [sigma] |
| ]] |
| [[quantile][Using the relations: |
| |
| p < 0.5 : x = [mu] + [sigma] * log(2*p) |
| |
| p >= 0.5 : x = [mu] - [sigma] * log(2-2*p) |
| ]] |
| [[quantile from the complement][Using the relation: |
| |
| q > 0.5: x = [mu] + [sigma]*log(2-2*q) |
| |
| q <=0.5: x = [mu] - [sigma]*log( 2*q ) |
| ]] |
| [[mean][[mu]]] |
| [[variance][2 * [sigma][super 2] ]] |
| [[mode][[mu]]] |
| [[skewness][0]] |
| [[kurtosis][6]] |
| [[kurtosis excess][3]] |
| ] |
| |
| [h4 References] |
| |
| * [@http://mathworld.wolfram.com/LaplaceDistribution.html Weisstein, Eric W. "Laplace Distribution."] From MathWorld--A Wolfram Web Resource. |
| |
| * [@http://en.wikipedia.org/wiki/Laplace_distribution Laplace Distribution] |
| |
| * M. Abramowitz and I. A. Stegun, Handbook of Mathematical Functions, 1972, p. 930. |
| |
| [endsect][/section:laplace_dist laplace] |
| |
| [/ |
| Copyright 2008, 2009 John Maddock, Paul A. Bristow and M.A. (Thijs) van den Berg. |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt). |
| ] |
| |