blob: 359de8dd3f5ec11a91ea1b2f88226877e4af528f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>EnumeratedRealDistribution (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="EnumeratedRealDistribution (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EnumeratedRealDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedIntegerDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/EnumeratedRealDistribution.html" target="_top">Frames</a></li>
<li><a href="EnumeratedRealDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.distribution</div>
<h2 title="Class EnumeratedRealDistribution" class="title">Class EnumeratedRealDistribution</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">org.apache.commons.math3.distribution.AbstractRealDistribution</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.distribution.EnumeratedRealDistribution</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">EnumeratedRealDistribution</span>
extends <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></pre>
<div class="block"><p>Implementation of a real-valued <a href="../../../../../org/apache/commons/math3/distribution/EnumeratedDistribution.html" title="class in org.apache.commons.math3.distribution"><code>EnumeratedDistribution</code></a>.
<p>Values with zero-probability are allowed but they do not extend the
support.<br/>
Duplicate values are allowed. Probabilities of duplicate values are combined
when computing cumulative probabilities and statistics.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.2</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: EnumeratedRealDistribution.java 1566274 2014-02-09 11:21:28Z tn $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.commons.math3.distribution.EnumeratedRealDistribution">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/commons/math3/distribution/EnumeratedDistribution.html" title="class in org.apache.commons.math3.distribution">EnumeratedDistribution</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#innerDistribution">innerDistribution</a></strong></code>
<div class="block"><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedDistribution.html" title="class in org.apache.commons.math3.distribution"><code>EnumeratedDistribution</code></a> (using the <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang"><code>Double</code></a> wrapper)
used to generate the pmf.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.distribution.AbstractRealDistribution">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.math3.distribution.<a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></h3>
<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#random">random</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#randomData">randomData</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#SOLVER_DEFAULT_ABSOLUTE_ACCURACY">SOLVER_DEFAULT_ABSOLUTE_ACCURACY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#EnumeratedRealDistribution(double[], double[])">EnumeratedRealDistribution</a></strong>(double[]&nbsp;singletons,
double[]&nbsp;probabilities)</code>
<div class="block">Create a discrete distribution using the given probability mass function
enumeration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#EnumeratedRealDistribution(org.apache.commons.math3.random.RandomGenerator, double[], double[])">EnumeratedRealDistribution</a></strong>(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
double[]&nbsp;singletons,
double[]&nbsp;probabilities)</code>
<div class="block">Create a discrete distribution using the given random number generator
and probability mass function enumeration.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#cumulativeProbability(double)">cumulativeProbability</a></strong>(double&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
to this distribution, this method returns <code>P(X &lt;= x)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#density(double)">density</a></strong>(double&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according to
this distribution, this method returns <code>P(X = x)</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#getNumericalMean()">getNumericalMean</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the mean of this
distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#getNumericalVariance()">getNumericalVariance</a></strong>()</code>
<div class="block">Use this method to get the numerical value of the variance of this
distribution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#getSupportLowerBound()">getSupportLowerBound</a></strong>()</code>
<div class="block">Access the lower bound of the support.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#getSupportUpperBound()">getSupportUpperBound</a></strong>()</code>
<div class="block">Access the upper bound of the support.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></strong>(double&nbsp;p)</code>
<div class="block">Computes the quantile function of this distribution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#isSupportConnected()">isSupportConnected</a></strong>()</code>
<div class="block">Use this method to get information about whether the support is connected,
i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#isSupportLowerBoundInclusive()">isSupportLowerBoundInclusive</a></strong>()</code>
<div class="block">Whether or not the lower bound of support is in the domain of the density
function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#isSupportUpperBoundInclusive()">isSupportUpperBoundInclusive</a></strong>()</code>
<div class="block">Whether or not the upper bound of support is in the domain of the density
function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#probability(double)">probability</a></strong>(double&nbsp;x)</code>
<div class="block">For a random variable <code>X</code> whose values are distributed according
to this distribution, this method returns <code>P(X = x)</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedRealDistribution.html#sample()">sample</a></strong>()</code>
<div class="block">Generate a random value sampled from this distribution.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.distribution.AbstractRealDistribution">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.distribution.<a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></h3>
<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#cumulativeProbability(double, double)">cumulativeProbability</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#getSolverAbsoluteAccuracy()">getSolverAbsoluteAccuracy</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#logDensity(double)">logDensity</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#probability(double, double)">probability</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#reseedRandomGenerator(long)">reseedRandomGenerator</a>, <a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample(int)">sample</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="innerDistribution">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>innerDistribution</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/commons/math3/distribution/EnumeratedDistribution.html" title="class in org.apache.commons.math3.distribution">EnumeratedDistribution</a>&lt;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt; innerDistribution</pre>
<div class="block"><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedDistribution.html" title="class in org.apache.commons.math3.distribution"><code>EnumeratedDistribution</code></a> (using the <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang"><code>Double</code></a> wrapper)
used to generate the pmf.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="EnumeratedRealDistribution(double[], double[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>EnumeratedRealDistribution</h4>
<pre>public&nbsp;EnumeratedRealDistribution(double[]&nbsp;singletons,
double[]&nbsp;probabilities)
throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>,
<a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotFiniteNumberException.html" title="class in org.apache.commons.math3.exception">NotFiniteNumberException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotANumberException.html" title="class in org.apache.commons.math3.exception">NotANumberException</a></pre>
<div class="block">Create a discrete distribution using the given probability mass function
enumeration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>singletons</code> - array of random variable values.</dd><dd><code>probabilities</code> - array of probabilities.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if
<code>singletons.length != probabilities.length</code></dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if any of the probabilities are negative.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotFiniteNumberException.html" title="class in org.apache.commons.math3.exception">NotFiniteNumberException</a></code> - if any of the probabilities are infinite.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotANumberException.html" title="class in org.apache.commons.math3.exception">NotANumberException</a></code> - if any of the probabilities are NaN.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - all of the probabilities are 0.</dd></dl>
</li>
</ul>
<a name="EnumeratedRealDistribution(org.apache.commons.math3.random.RandomGenerator, double[], double[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EnumeratedRealDistribution</h4>
<pre>public&nbsp;EnumeratedRealDistribution(<a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;rng,
double[]&nbsp;singletons,
double[]&nbsp;probabilities)
throws <a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a>,
<a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotFiniteNumberException.html" title="class in org.apache.commons.math3.exception">NotFiniteNumberException</a>,
<a href="../../../../../org/apache/commons/math3/exception/NotANumberException.html" title="class in org.apache.commons.math3.exception">NotANumberException</a></pre>
<div class="block">Create a discrete distribution using the given random number generator
and probability mass function enumeration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>rng</code> - random number generator.</dd><dd><code>singletons</code> - array of random variable values.</dd><dd><code>probabilities</code> - array of probabilities.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if
<code>singletons.length != probabilities.length</code></dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotPositiveException.html" title="class in org.apache.commons.math3.exception">NotPositiveException</a></code> - if any of the probabilities are negative.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotFiniteNumberException.html" title="class in org.apache.commons.math3.exception">NotFiniteNumberException</a></code> - if any of the probabilities are infinite.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotANumberException.html" title="class in org.apache.commons.math3.exception">NotANumberException</a></code> - if any of the probabilities are NaN.</dd>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - all of the probabilities are 0.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="probability(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probability</h4>
<pre>public&nbsp;double&nbsp;probability(double&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
to this distribution, this method returns <code>P(X = x)</code>. In other
words, this method represents the probability mass function (PMF)
for the distribution.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#probability(double)">probability</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#probability(double)">probability</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PMF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>zero.</dd></dl>
</li>
</ul>
<a name="density(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>density</h4>
<pre>public&nbsp;double&nbsp;density(double&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according to
this distribution, this method returns <code>P(X = x)</code>. In other words,
this method represents the probability mass function (PMF) for the
distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the PMF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value of the probability mass function at point <code>x</code></dd></dl>
</li>
</ul>
<a name="cumulativeProbability(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cumulativeProbability</h4>
<pre>public&nbsp;double&nbsp;cumulativeProbability(double&nbsp;x)</pre>
<div class="block">For a random variable <code>X</code> whose values are distributed according
to this distribution, this method returns <code>P(X &lt;= x)</code>. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - the point at which the CDF is evaluated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the probability that a random variable with this
distribution takes a value less than or equal to <code>x</code></dd></dl>
</li>
</ul>
<a name="inverseCumulativeProbability(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>inverseCumulativeProbability</h4>
<pre>public&nbsp;double&nbsp;inverseCumulativeProbability(double&nbsp;p)
throws <a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></pre>
<div class="block">Computes the quantile function of this distribution. For a random
variable <code>X</code> distributed according to this distribution, the
returned value is
<ul>
<li><code>inf{x in R | P(X<=x) >= p}</code> for <code>0 &lt; p &lt;= 1</code>,</li>
<li><code>inf{x in R | P(X<=x) > 0}</code> for <code>p = 0</code>.</li>
</ul>
The default implementation returns
<ul>
<li><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#getSupportLowerBound()"><code>RealDistribution.getSupportLowerBound()</code></a> for <code>p = 0</code>,</li>
<li><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#getSupportUpperBound()"><code>RealDistribution.getSupportUpperBound()</code></a> for <code>p = 1</code>.</li>
</ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#inverseCumulativeProbability(double)">inverseCumulativeProbability</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>p</code> - the cumulative probability</dd>
<dt><span class="strong">Returns:</span></dt><dd>the smallest <code>p</code>-quantile of this distribution
(largest 0-quantile for <code>p = 0</code>)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/OutOfRangeException.html" title="class in org.apache.commons.math3.exception">OutOfRangeException</a></code> - if <code>p &lt; 0</code> or <code>p &gt; 1</code></dd></dl>
</li>
</ul>
<a name="getNumericalMean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalMean</h4>
<pre>public&nbsp;double&nbsp;getNumericalMean()</pre>
<div class="block">Use this method to get the numerical value of the mean of this
distribution.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>sum(singletons[i] * probabilities[i])</code></dd></dl>
</li>
</ul>
<a name="getNumericalVariance()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumericalVariance</h4>
<pre>public&nbsp;double&nbsp;getNumericalVariance()</pre>
<div class="block">Use this method to get the numerical value of the variance of this
distribution.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>sum((singletons[i] - mean) ^ 2 * probabilities[i])</code></dd></dl>
</li>
</ul>
<a name="getSupportLowerBound()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportLowerBound</h4>
<pre>public&nbsp;double&nbsp;getSupportLowerBound()</pre>
<div class="block">Access the lower bound of the support. This method must return the same
value as <code>inverseCumulativeProbability(0)</code>. In other words, this
method must return
<p><code>inf {x in R | P(X <= x) > 0}</code>.</p>
Returns the lowest value with non-zero probability.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the lowest value with non-zero probability.</dd></dl>
</li>
</ul>
<a name="getSupportUpperBound()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSupportUpperBound</h4>
<pre>public&nbsp;double&nbsp;getSupportUpperBound()</pre>
<div class="block">Access the upper bound of the support. This method must return the same
value as <code>inverseCumulativeProbability(1)</code>. In other words, this
method must return
<p><code>inf {x in R | P(X <= x) = 1}</code>.</p>
Returns the highest value with non-zero probability.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the highest value with non-zero probability.</dd></dl>
</li>
</ul>
<a name="isSupportLowerBoundInclusive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportLowerBoundInclusive</h4>
<pre>public&nbsp;boolean&nbsp;isSupportLowerBoundInclusive()</pre>
<div class="block">Whether or not the lower bound of support is in the domain of the density
function. Returns true iff <code>getSupporLowerBound()</code> is finite and
<code>density(getSupportLowerBound())</code> returns a non-NaN, non-infinite
value.
The support of this distribution includes the lower bound.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code></dd></dl>
</li>
</ul>
<a name="isSupportUpperBoundInclusive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportUpperBoundInclusive</h4>
<pre>public&nbsp;boolean&nbsp;isSupportUpperBoundInclusive()</pre>
<div class="block">Whether or not the upper bound of support is in the domain of the density
function. Returns true iff <code>getSupportUpperBound()</code> is finite and
<code>density(getSupportUpperBound())</code> returns a non-NaN, non-infinite
value.
The support of this distribution includes the upper bound.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code></dd></dl>
</li>
</ul>
<a name="isSupportConnected()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportConnected</h4>
<pre>public&nbsp;boolean&nbsp;isSupportConnected()</pre>
<div class="block">Use this method to get information about whether the support is connected,
i.e. whether all values between the lower and upper bound of the support
are included in the support.
The support of this distribution is connected.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code></dd></dl>
</li>
</ul>
<a name="sample()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sample</h4>
<pre>public&nbsp;double&nbsp;sample()</pre>
<div class="block">Generate a random value sampled from this distribution.
The default implementation uses the
<a href="http://en.wikipedia.org/wiki/Inverse_transform_sampling">
inversion method.
</a></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html#sample()">sample</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/RealDistribution.html" title="interface in org.apache.commons.math3.distribution">RealDistribution</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html#sample()">sample</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/distribution/AbstractRealDistribution.html" title="class in org.apache.commons.math3.distribution">AbstractRealDistribution</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a random value.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/EnumeratedRealDistribution.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/distribution/EnumeratedIntegerDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/distribution/ExponentialDistribution.html" title="class in org.apache.commons.math3.distribution"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/distribution/EnumeratedRealDistribution.html" target="_top">Frames</a></li>
<li><a href="EnumeratedRealDistribution.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>