Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Nuget packages
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Statistics Library User's Guide
    • Statistical Variables
    • Numerical Variables
    • Statistical Models
    • Regression Analysis
    • Analysis of Variance
    • Time Series Analysis
    • Multivariate Analysis
    • Continuous Distributions
    • Discrete Distributions
    • Multivariate Distributions
    • Kernel Density Estimation
    • Hypothesis Tests
    • Appendices
  • Discrete Distributions
    • Discrete Probability Distributions
    • The Bernoulli Distribution
    • The Binomial Distribution
    • The Geometric Distribution
    • The Hypergeometric Distributions
    • The Negative Binomial Distribution
    • The Poisson Distribution
    • The Uniform Distribution
  • The Bernoulli Distribution

The Bernoulli Distribution

Extreme Optimization Numerical Libraries for .NET Professional

The Bernoulli distribution is the simplest of the discrete probability distributions. It has two possible outcomes: 0 ('failure') and 1 ('success'). It has a single parameter, p, that specifies the probability of success.

For example, the distribution of heads and tails in coin tossing has a Bernoulli distribution with p = 0.5. The probability of a newborn to be a girl has a probability distribution with p = 0.48 (approximately).

Being the simplest discrete distribution, the Bernoulli distribution is the basic building block for several other discrete probability distributions:

  • The The Binomial Distribution models the number of successes in a fixed number of trials.

  • The The Geometric Distribution models the number of failures before the first success.

  • The The Negative Binomial Distribution models the number of failures before the nth success.

The Bernoulli distribution is implemented by the BernoulliDistribution class. It has one constructor which takes one parameter: the probability of success of a trial. The probability must be between 0 and 1. The following constructs a Bernoulli distribution with probability of success 0.4:

C#
VB
C++
F#
Copy
var bernoulli = new BernoulliDistribution(0.4);
Dim bernoulli = New BernoulliDistribution(0.4)

No code example is currently available or this language may not be supported.

let bernoulli = BernoulliDistribution(0.4)

The BernoulliDistribution class has one specific property, ProbabilityOfSuccess, which returns the probability of success of a trial.

BernoulliDistribution has one static (Shared in Visual Basic) method, Sample, which generates a random sample using a user-supplied uniform random number generator.

C#
VB
C++
F#
Copy
var random = new MersenneTwister();
int sample = BernoulliDistribution.Sample(random, 0.4);
Dim random = New MersenneTwister()
Dim sample = BernoulliDistribution.Sample(random, 0.4)

No code example is currently available or this language may not be supported.

let random = MersenneTwister()
let sample = BernoulliDistribution.Sample(random, 0.4)

The above example uses the MersenneTwister class to generate uniform random numbers.

For details of the properties and methods common to all discrete probability distribution classes, see the topic on Discrete Distributions.

See Also

Other Resources

The Binomial Distribution
The Geometric Distribution
The Negative Binomial Distribution

Copyright (c) 2004-2021 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.