... and two suggestions to the development team

**POINT 1**

In **?DiscreteValueMap** (package **Statistics**) it's given an example concerning rhe **Geometric **distribution along with this comment:

*"The Geometric distribution is discrete but it necessarily assumes integer values, ***so** (bold font is mine) it also does not have a DiscreteValueMap"

This sentence seems to indicate that "because a distribution is discrete over the set of integers, it cannot have a DiscreteValueMap", some sort of logical implication...

But my feeling is that the **Geometric **distribution (or any other discrete distribution) does not have a **DiscreteValueMap **because this attribute has just not been specified when defining the distribution.

restart:
with(Statistics):
GeomRV := RandomVariable(Geometric(1/2)):
f := unapply(ProbabilityFunction(GeomRV, n), n):
AnotherGeomRV := Distribution(
'ProbabilityFunction'=f,
'Support'=0..infinity,
'DiscreteValueMap'=(n->n),
'Type'=discrete
):
DiscreteValueMap(AnotherGeomRV , n);

Thus having the set of natural numbers as support doesn't imply that **DiscreteValueMap **cannot exist.

**Suggestion 1**: modify the **?DiscreteValueMap** help page so that it no longer suggests that some discrete distributions cannot have a .**DiscreteValueMap **

______________________________________________________________________________________

**POINT 2**

I think there exists a true problem with the definition of discrete distributions in Maple: the **ProbabilityFunction** of a (discrete) random variable)** **takes non zero values outside their definition set.

For instance

ProbabilityFunction(GeomRV, Pi); # something non null

I tried to do this for the **Geometric **distribution (not entirely correct):

restart:
with(Statistics):
GeomRV := RandomVariable(Geometric(1/2)):
f := unapply(ProbabilityFunction(GeomRV, n), n):
g := n -> (1-ceil(n-floor(n)))*f(n) # (1-ceil(n-floor(n))) = 1 if n in **Z**, 0 otherwise
AnotherGeomRV := Distribution(
'ProbabilityFunction'=g,
'Support'=0..infinity,
'DiscreteValueMap'=(n->n), # is wanted
'Type'=discrete
):
ProbabilityFunction(AnotherGeomRV, 2);
1/8
ProbabilityFunction(AnotherGeomRV, Pi);
0

PS: None of the statistics based upon the **ProbabilityFunction** (Mean, Variance, ... ) is correctly computed with the previous construction. This could be easily overcome by completing this definition, just as its done in Maple, for all the requires statistics, for instance

AnotherGeomRV := Distribution(
....
'Mean'=1 # or more generally (1-p)/p form Geometric(p)
):

**Suggestion 2**: modify the way discrete distributions are defined in Maple in order to avoid that **ProbabilityFunction** returns wrong values.