Post Reply 
Gamma function, SinhIntegral, CoshIntegral
11-07-2022, 03:34 PM
Post: #6
RE: Gamma function, SinhIntegral, CoshIntegral
(11-07-2022 02:31 PM)Albert Chan Wrote:  
(11-06-2022 06:27 PM)robmio Wrote:  HP PRIME --> Gamma (4/5, -6) --> 294.845140024
MATHEMATICA --> Gamma [4/5, -6] --> 238.757-172.621*i.

Mathematica Gamma, converted to HP Prime Gamma
Note: it is not Abs[Gamma[4/5,-6]] ≈ 294.624

Gamma[4/5] + Abs[Gamma[4/5] - Gamma[4/5,-6]]
= Gamma[4/5] + (Gamma[4/5] - Gamma[4/5,-6]) / (-1)^(4/5)
= 294.845140024 ...

HP Prime Gamma, back to Mathematica Gamma:

CAS> gamma(a,x) := when(x<0, [Gamma(a),Gamma(a,x)] * [1+(-1)^a,-(-1)^a], Gamma(a,x))

CAS> gamma(4/5,-6.)      → 238.757077078-172.62130796*i

Quote:I hadn't really noticed: why does HP PRIME return the absolute value?

It is just a guess, but some integral result is more elegant.

CAS> int(e^x^3)      → 1/3*(Gamma(1/3,-x^3) - Gamma(1/3))
CAS> Ans(x=6.)        → 5.96393809188e91

Mathematica:

∫(e^x^3) = -(x Γ(1/3, -x^3))/(3 (-x^3)^(1/3))

∫(e^x^3, x=0..6) ≈ (5.964E91 + 0.7733*i) - (-0.4465 + 0.7733*i) ≈ 5.964E91

Dear Albert, you are right: "xCas" does not return the absolute value of the "Gamma" function: I noticed it too, just before connecting to the forum.
I would like you to judge my program for calculating the gamma function. I have not yet implemented the program for calculating the Gamma function with lower bound of integration as a complex number.
Best regards, Roberto.

Code:

#cas
Upper_Inc_Γ(a,z):=
BEGIN
LOCAL funz, t,fnz;
// fnz:=(1/(-a)!)*(Shi(z)-Chi(z));
CASE
IF a==0 AND z==0 THEN
RETURN "Error: a==0 & z==0" END;
IF (type(a)==DOM_INT AND a>0) OR 
((type(a)==DOM_COMPLEX) AND 
SIGN(RE(a))==1) THEN
RETURN -z^a*integrate(t^(a-1)*e^(-t*z),t
,0,1)+Gamma(a) END;
IF (type(a)==DOM_COMPLEX AND SIGN(RE
(a))==-1) OR ((type(a)==DOM_RAT AND 
IM(a)≠0) AND SIGN(RE(a))==-1) OR 
((type(a)==DOM_RAT AND IM(a)≠0) AND 
SIGN(RE(a))==+1) THEN
RETURN simplify(integrate(t^(a-1)*
exp(-t),t,z,inf)) END;
IF (SIGN(z)==-1 AND type(a)==DOM_RAT)
 AND (a>0 OR a<−1) THEN
RETURN (Gamma(a,z)-Gamma(a))*(−1)^(a
-1)+Gamma(a) END;
IF type(a)==DOM_INT AND a≤0 THEN
RETURN (−1)^(-a)*((sum((k-1)!/(
(-a)!*(-z)^k),k,1,-a))*exp(-z)+
(1/(-a)!)*(Shi(z)-Chi(z))) END;
IF (SIGN(z)==-1 AND type(a)==DOM_RAT)
 AND (a<0 AND a>−1) THEN
RETURN (−z^(a)*exp(−z)+(
(Gamma(a+1,z)-Gamma(a+1))*(−1)^(a+1
-1)+Gamma(a+1)))/a END;
DEFAULT
RETURN Gamma(a,z);
END;
END;
#end
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Gamma function, SinhIntegral, CoshIntegral - robmio - 11-07-2022 03:34 PM



User(s) browsing this thread: 1 Guest(s)