Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
I wish that the Distributions could contain some characteristics. For example support, mean, and variance.
Support:
AbstractContinuousDistribution and AbstractIntegerDistribution should have double getSupport
Bound(), respectively. Also methods a la boolean isSupport
{Lower, Upper}BoundInclusive() on AbstractContinuousDistribution should reflect if the support is open of closed. In practise the implemented distributions are easy since the support for all continuous distributions are real intervals (connected sets), and the support for all the discrete distributions are connected integer sets. This means that the lower and upper bound (together with isSupport{Lower, Upper}BoundInclusive() on AbstractContinuousDistribution because it is not needed on the discrete distributions because of their nature) are sufficient for determine the support.
Mean and variance:
double get
() should be on AbstractDistribution.
With such characteristic an invalidateParameters-method might come in handy because they often depend on the parameters. The characteristics should not be calculated before the first time they are get'ted, and when calculated, they should be saved for later use. When parameters change, an invalidateParameters-method should be called to force the characteristics to be recalculated.
Values such as Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY, and Double.NaN should be used where appropriate.