Writing out a Maple-integrated Function does not work as intended

165 Views Asked by At

I think I have a basic problem with how Maple handles functions. Here's what I do:

I used the Function KummerM (https://de.maplesoft.com/support/help/Maple/view.aspx?path=Kummer) without any problems, but for specific reasons I need to use the integral representation:

$$ M(a, b, z) = \frac{\Gamma(b)}{\Gamma(a)\Gamma(b-a)} \int_0^1 e^{zu} u^{a-1} (1-u)^{b-a-1}\, du ~~~~~ (1) $$

It turns out that Maple doesn't do what I want:

> evalb(GAMMA(b)*(int(u^(a-1)*(1-u)^(b-a-1)*e^(z*u), u = 0 .. 1))/(GAMMA(a)*GAMMA(b-a)) = KummerM(a, b, z));
                             false

KummerMint := (a, b, z) ->  GAMMA(b)*(int(u^(a-1)*(1-u)^(b-a-1)*e^(z*u), u = 0 .. 1))/(GAMMA(a)*GAMMA(b-a));


> evalb(KummerMint(1, 2, 1) = Malt(1, 2, 1));
                             false

Meaning that $(1)$ is not true :-/

Does anyone see the error?

Much appreciated!

bm

2

There are 2 best solutions below

0
On

For me works fine.

kernelopts(version)#Maple 2020.1, X86 64 WINDOWS, Jun 10 2020, Build ID 1474787

Try:

f := (a, b, z) -> GAMMA(b)*int(exp(z*u)*u^(a - 1)*(1 - u)^(b - 1 - a), u = 0 .. 1)/(GAMMA(a)*GAMMA(b - a)); evalf(f(1, 2, 1)); evalf(KummerM(1, 2, 1)); evalf(f(2, 3, 2)); evalf(KummerM(2, 3, 2));

0
On

The evalb command is most certainly not the appropriate command for comparing two forms mathematically.

Often the is command is more appropriate. But for this example some extra conversions are needed to help it along -- after which the ratio of both sides of the equation can be simplified symbolically to 1.

restart;
eq := Int(u^(a-1)*(1-u)^(b-a-1)*exp(z*u), u=0..1)
      * GAMMA(b)/(GAMMA(a)*GAMMA(b-a))
      = KummerM(a, b, z):

new1 := convert(combine(eq),compose,LaguerreL,GAMMA):
new2 := convert(new1, LaguerreL, "raise b"):

simplify(expand(value((rhs/lhs)(new2))));
                           1