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
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.DataAnalysis.Models
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Providers
    • Extreme.Providers.InteropServices
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Statistics.Distributions
    • ArcsineDistribution Class
    • BernoulliDistribution Class
    • BetaDistribution Class
    • BinomialDistribution Class
    • CauchyDistribution Class
    • ChiSquareDistribution Class
    • ContinuousDistribution Class
    • ContinuousUniformDistribution Class
    • DirichletDistribution Class
    • DiscreteDistribution Class
    • DiscreteDistribution(T) Class
    • DiscreteUniformDistribution Class
    • Distribution Class
    • ErlangDistribution Class
    • EstimationMethod Enumeration
    • ExponentialDistribution Class
    • FDistribution Class
    • GammaDistribution Class
    • GaussianMixtureDistribution Class
    • GeneralizedParetoDistribution Class
    • GenericDiscreteDistribution Class
    • GeometricDistribution Class
    • GumbelDistribution Class
    • HyperbolicDistribution Class
    • HypergeometricDistribution Class
    • InverseChiSquareDistribution Class
    • InverseGammaDistribution Class
    • InverseGaussianDistribution Class
    • InverseWeibullDistribution Class
    • JohnsonDistribution Class
    • JohnsonDistributionType Enumeration
    • LaplaceDistribution Class
    • LogarithmicSeriesDistribution Class
    • LogisticDistribution Class
    • LogLogisticDistribution Class
    • LognormalDistribution Class
    • MaxwellDistribution Class
    • MultivariateContinuousDistribution Class
    • MultivariateNormalDistribution Class
    • NegativeBinomialDistribution Class
    • NonCentralBetaDistribution Class
    • NonCentralChiSquareDistribution Class
    • NonCentralFDistribution Class
    • NonCentralStudentTDistribution Class
    • NormalDistribution Class
    • NormalInverseGaussianDistribution Class
    • ParetoDistribution Class
    • ParetoDistributionVariant Enumeration
    • PertDistribution Class
    • PiecewiseDistribution Class
    • PoissonDistribution Class
    • RandomExtensions Class
    • RayleighDistribution Class
    • StudentTDistribution Class
    • TransformedBetaDistribution Class
    • TransformedGammaDistribution Class
    • TriangularDistribution Class
    • TruncatedDistribution Class
    • WeibullDistribution Class
    • WishartDistribution Class
  • DiscreteDistribution Class
    • DiscreteDistribution Constructor
    • Properties
    • Methods

DiscreteDistribution Class

Extreme Optimization Numerical Libraries for .NET Professional
Represents a discrete probability distribution.
Inheritance Hierarchy

SystemObject
  Extreme.Statistics.DistributionsDistribution
    Extreme.Statistics.DistributionsDiscreteDistribution
      More...

Namespace:  Extreme.Statistics.Distributions
Assembly:  Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.1
Syntax

C#
VB
C++
F#
Copy
[SerializableAttribute]
public abstract class DiscreteDistribution : Distribution
<SerializableAttribute>
Public MustInherit Class DiscreteDistribution
	Inherits Distribution
[SerializableAttribute]
public ref class DiscreteDistribution abstract : public Distribution
[<AbstractClassAttribute>]
[<SerializableAttribute>]
type DiscreteDistribution =  
    class
        inherit Distribution
    end

The DiscreteDistribution type exposes the following members.

Constructors

  NameDescription
Protected methodDiscreteDistribution
Constructs a new DiscreteDistribution object.
Top
Properties

  NameDescription
Public propertyEntropy
Gets the entropy of the distribution.
(Inherited from Distribution.)
Public propertyIsUnimodal
Gets whether the distribution has one or more modes.
Public propertyKurtosis
Gets the kurtosis of the distribution.
(Inherited from Distribution.)
Public propertyMean
Gets the mean or expectation value of the distribution.
(Inherited from Distribution.)
Public propertyMode
Gets the mode of the distribution.
Public propertyNumberOfModes
Gets the number of modes of the distribution.
Public propertySkewness
Gets the skewness of the distribution.
(Inherited from Distribution.)
Public propertyStandardDeviation
Gets the standard deviation of the distribution.
(Inherited from Distribution.)
Public propertyStatisticSymbol
Gets the common symbol to describe a statistic from the distribution.
(Inherited from Distribution.)
Public propertyVariance
Gets the variance of the distribution.
(Inherited from Distribution.)
Top
Methods

  NameDescription
Public methodDistributionFunction
Gets the probability of obtaining an outcome less than or equal to a specified value.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetAllModes
Returns an array that contains all the modes of the distribution.
Public methodGetExpectedHistogram(IndexIntervalInt32, Double)
Returns a histogram whose bins contain the expected number of samples from the distribution for a given total number of samples.
Public methodGetExpectedHistogram(IndexInt32, Double)
Returns a histogram whose bins contain the expected number of samples from the distribution for a given total number of samples.
Public methodGetExpectedHistogram(Int32, Int32, Double)
Returns a histogram whose bins contain the expected number of samples from the distribution for a given total number of samples.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetRandomSequence
Returns a sequence of random samples from the distribution.
Public methodGetRandomSequence(Random)
Returns a sequence of random samples from the distribution.
Public methodGetRandomSequence(Random, Int32)
Returns a sequence of random samples of the specified length from the distribution.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInverseDistributionFunction
Returns the inverse of the distribution function.
Public methodLeftTailProbability
Gets the probability of obtaining a sample that is less than or less than or equal to the specified upper bound.
Public methodLogProbability
Returns the logarithm of the probability of obtaining a specific integer value in the distribution.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodProbability(Int32)
Returns the probability of obtaining a specific integer value in the distribution.
Public methodProbability(Int32, Int32)
Gets the probability of obtaining a sample that falls within the specified interval from the distribution.
Public methodRightTailProbability
Gets the probability of obtaining a sample that is less than or less than or equal to the specified upper bound.
Public methodSample
Returns a random sample from the distribution.
Public methodSample(Int32)
Returns a vector of random samples from the distribution.
Public methodSample(Random)
Returns a random sample from the distribution.
Public methodSample(Int32, Random)
Returns a vector of random samples from the distribution.
Public methodSample(Random, Int32)
Fills an Int32 array with random numbers.
Public methodSample(Random, Int32, Int32, Int32)
Fills an Int32 array with random numbers from this DiscreteDistribution.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTwoTailProbability
Gets the probability of obtaining a sample that is less than or less than or equal to the specified upper bound.
Top
Remarks

The distribution of a variable is a description of the relative numbers of times each possible outcome will occur in a number of trials. The function describing the distribution is called the probability function, and the function describing the cumulative probability that a given value or any value smaller than it will occur is called the distribution function.

A discrete probability distribution is a statistical distribution whose variables can take on only discrete values.

This library contains classes for the most common discrete distributions. They are listed in the table below.

DistributionDefinition
BernoulliDistributionThe outcome of a single trial.
BinomialDistributionThe number of successes in N trials.
GeometricDistributionThe number of failures before the first success.
HypergeometricDistributionThe number of successes in N trials taken from a set with m good outcomes and n bad outcomes.
NegativeBinomialDistributionThe number of failures before the nth success.
PoissonDistributionThe number of occurrences of an event in a specified unit of space or time.
DiscreteUniformDistributionA distribution with a constant probability over an interval.

DiscreteDistribution is an abstract base class that cannot be instantiated. To create a continuous distribution of a specific type, instantiate a class derived from DiscreteDistribution.

Notes to inheritors: When you inherit from DiscreteDistribution, you must override the following members: Probability(Int32), DistributionFunction(Int32), Sample, Mean, and Variance.

See Also

Reference

Extreme.Statistics.Distributions Namespace
Inheritance Hierarchy

SystemObject
  Extreme.Statistics.DistributionsDistribution
    Extreme.Statistics.DistributionsDiscreteDistribution
      Extreme.Statistics.DistributionsBernoulliDistribution
      Extreme.Statistics.DistributionsBinomialDistribution
      Extreme.Statistics.DistributionsDiscreteUniformDistribution
      Extreme.Statistics.DistributionsGenericDiscreteDistribution
      Extreme.Statistics.DistributionsGeometricDistribution
      Extreme.Statistics.DistributionsHypergeometricDistribution
      Extreme.Statistics.DistributionsLogarithmicSeriesDistribution
      Extreme.Statistics.DistributionsNegativeBinomialDistribution
      Extreme.Statistics.DistributionsPoissonDistribution

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.