| Home | Libraries | People | FAQ | More

#### Landau Distribution

    #include <boost/math/distributions/landau.hpp>

    template <class RealType = double,
              class Policy   = policies::policy<> >
    class landau_distribution;

    typedef landau_distribution<> landau;

    template <class RealType, class Policy>
    class landau_distribution
    {
    public:
       typedef RealType  value_type;
       typedef Policy    policy_type;

       BOOST_MATH_GPU_ENABLED landau_distribution(RealType location = 0, RealType scale = 1);

       BOOST_MATH_GPU_ENABLED RealType location()const;
       BOOST_MATH_GPU_ENABLED RealType scale()const;
       BOOST_MATH_GPU_ENABLED RealType bias()const;
    };

The Landau distribution is named after Lev Landau. It is special case of a stable distribution with shape parameter α=1, β=1.

probability distribution function PDF given by:

The location parameter μ is the location of the distribution, while the scale parameter [c] determines the width of the distribution, but unlike other scalable distributions, it has a peculiarity that changes the location of the distribution. If the location is zero, and the scale 1, then the result is a standard landau distribution.

The distribution describe the statistical property of the energy loss by charged particles as they traversing a thin layer of matter.

The following graph shows how the distributions moves as the location parameter changes:

While the following graph shows how the shape (scale) parameter alters the distribution:

##### Member Functions

    BOOST_MATH_GPU_ENABLED landau_distribution(RealType location = 0, RealType scale = 1);

Constructs a landau distribution, with location parameter location and scale parameter scale. When these parameters take their default values (location = 0, scale = 1) then the result is a Standard landau Distribution.

Requires scale > 0, otherwise calls domain_error.

    BOOST_MATH_GPU_ENABLED RealType location()const;

Returns the location parameter of the distribution.

    BOOST_MATH_GPU_ENABLED RealType scale()const;

Returns the scale parameter of the distribution.

    BOOST_MATH_GPU_ENABLED RealType bias()const;

Returns the amount of translation by the scale parameter.

> bias = - 2 / π log(c)

##### Non-member Accessors

All the usual non-member accessor functions that are generic to all distributions are supported: Cumulative Distribution Function, Probability Density Function, Quantile, Hazard Function, Cumulative Hazard Function, __logcdf, __logpdf, mean, median, mode, variance, standard deviation, skewness, kurtosis, kurtosis_excess, range and support. For this distribution all non-member accessor functions are marked with `BOOST_MATH_GPU_ENABLED` and can be run on both host and device.

Note however that the landau distribution does not have a mean, standard deviation, etc. See mathematically undefined function to control whether these should fail to compile with a BOOST_STATIC_ASSERTION_FAILURE, which is the default.

Alternately, the functions mean, standard deviation, variance, skewness, kurtosis and kurtosis_excess will all return a domain_error if called.

The domain of the random variable is [-[max_value], +[min_value]].

##### Accuracy

The error is within 4 epsilon except for the rapidly decaying left tail.

Errors in the PDF at 64-bit double precision:

Errors in the CDF at 64-bit double precision:

Errors in the CDF-complement at 64-bit double precision:

##### Implementation

See references.

##### References

- landau distribution
- T. Yoshimura, Numerical Evaluation and High Precision Approximation Formula for Landau Distribution, DOI: 10.36227/techrxiv.171822215.53612870/v2, 2024.