I tried to let Maple to calculate moments of beta distributions:

> assume(r1>0); > assume(r2>0); > int(x^k*x^(r1-1)*(1-x)^(r2-1)/Beta(r1,r2),x=0..1); 1 / k (r1~ - 1) (r2~ - 1) | x x (1 - x) | ------------------------------ dx | Beta(r1~, r2~) / 0 > simplify(%); 1 / (r1~ - 1 + k) (r2~ - 1) | x (1 - x) | ------------------------------- dx | Beta(r1~, r2~) / 0

Maple even can not compute simple Beta integral:

> int(x^(r1-1)*(1-x)^(r2-1),x=0..1); 1 / | (r1~ - 1) (r2~ - 1) | x (1 - x) dx | / 0

which is equal to `Beta(r1,r2)`

.

If I assign that integral to be equal to `Beta(r1,r2)`

, Maple will give this answer
to the integral, but not if I change r1 by `(r1+1)`

(which is nessary to compute
moments).

And what is even worse is that

int(exp(-t)*t^(z-1),t=0..infinity)

is not even recognized as `GAMMA(z)`

The Beta function is deﬁned in terms of the GAMMA function.

The real point is that Maple does not know about Beta except how to compute it if given
ﬂoats, and also if given speciﬁc exact numbers in the form `Beta(x,y)`

for which the
GAMMA function deﬁnition makes sense and has an exact value. For an inside look
do:

interface(verboseproc=2); print(GAMMA); print(`evalf/GAMMA`); print(Beta);

This does not mean that Maple can recognize a given integral to be Beta or for that matter to be GAMMA. If the integration techniques were based on pattern matching this might be a simple ﬁx, but my understanding is that they are not, and it is not.

Neil, you need to tell Maple that \(z>0\) to do this integral. I’m sorry that Maple doesn’t give you a
clue, it should, and it does in Release 4. In Release 3, if you do `infolevel[int] := 4;`

then
Maple will then tell you that it could not determine the sign of \(z\) and you will then know to
`assume(z>0);`

Here is the integral computed

|\^/| Maple V Release 3 (Simon Fraser University) ._|\| |/|_. Copyright (c) 1981-1994 by Waterloo Maple Software and the \ MAPLE / University of Waterloo. All rights reserved. Maple and Maple V <____ ____> are registered trademarks of Waterloo Maple Software. | Type ? for help. > assume(z>0); > int(exp(-t)*t^(z-1),t=0..infinity); GAMMA(z~)

>The Beta function is defined in terms of the GAMMA function. > >The real point is that Maple does not know about Beta except how to >compute it if given floats, and also if given specific exact ...

This is not true. There are integrals where Maple will return the result as a formula involving the Beta function. I don’t have one handy, perhaps someone else can show an example. Unfortunately, Maple is has hidden this capability from you and I can’t blame you for comming to this conclusion.

It is (at least in Release 3) if you `"assume(z > 0)"`

, which ensures convergence. It doesn’t
work to `"assume(Re(z) > 0)"`

, nor does `int(exp(-t)*t^(x+I*y-1), t=0..infinity)`

work with assumptions \(x > 0\) and \(y\) real.