The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

HP Prime emulator: Gamma function
Message #1 Posted by Stephan Matthys on 21 Aug 2013, 2:32 p.m.

I played around with the HP Prime emulator today & also tried the Gamma function. For positive numbers everything seems to be OK, but for negative numbers the Prime emulation gives different results compared to my 15C, 15C LE, 34C, 35s & HP49g+ (which all give the same result, e.g. -5.5! => -0.0600; unfortunately I forgot the result of the Prime emulator & my virtual W7 machine is not up at the moment...)

Might there be a problem with the Gamma function of the HP Prime? Or is it only an emulator problem?

      
Re: HP Prime emulator: Gamma function
Message #2 Posted by Tim Wessman on 21 Aug 2013, 2:53 p.m.,
in response to message #1 by Stephan Matthys

Did you look at the help for the function? Graph both Gamma(X) and X! and I think you'll see what is happening. Also compare the graph at http://en.wikipedia.org/wiki/Gamma_function to what you see on the calc.

TW

Edited: 21 Aug 2013, 2:54 p.m.

            
Re: HP Prime emulator: Gamma function
Message #3 Posted by Gerson W. Barbosa on 21 Aug 2013, 3:03 p.m.,
in response to message #2 by Tim Wessman

On the HP-49G+ and on the Prime, Gamma and ! are two different functions. From the manual:

---------------------------------------

Factorial: Factorial of a positive integer. For non-integers, ! = |-- (x + 1). This calculates the gamma function.

value!
.
.
.
Gamma: Returns the value of the gamma function (|--) for a number a.
Gamma(a)
---------------------------------------

Thus Gamma(-4.5) = (-5.5)! = -0.0600196013005

Gerson.

-----

This was meant to Stephan. Somehow it has ended up here.

Edited: 21 Aug 2013, 3:05 p.m.

                  
Re: HP Prime emulator: Gamma function
Message #4 Posted by Stephan Matthys on 21 Aug 2013, 3:06 p.m.,
in response to message #3 by Gerson W. Barbosa

Thanks, Gerson. Actually I know the difference between ! & Gamma. I just was astonished that my Prime emulator gave me some unexpected result, but as Joe proposed I'll check my settings first.

                        
Re: HP Prime emulator: Gamma function
Message #5 Posted by Gerson W. Barbosa on 21 Aug 2013, 10:57 p.m.,
in response to message #4 by Stephan Matthys

You might also want to check your emulator version:

                              
Re: HP Prime emulator: Gamma function
Message #6 Posted by Thomas Klemm on 22 Aug 2013, 1:39 a.m.,
in response to message #5 by Gerson W. Barbosa

WolframAlpha disagrees with the precedence of - and !: -5.5! = -287.885....

Cheers
Thomas

                              
Re: HP Prime emulator: Gamma function
Message #7 Posted by Gilles Carpentier on 22 Aug 2013, 1:58 a.m.,
in response to message #5 by Gerson W. Barbosa

Gerson

are you sure about -5.5! ?

I get this for (-5.5)! with my emulator -5.5! -> -287.885...

                                    
Re: HP Prime emulator: Gamma function
Message #8 Posted by Gerson W. Barbosa on 22 Aug 2013, 7:53 a.m.,
in response to message #7 by Gilles Carpentier

Gilles and Thomas,

I did enter (-5.5)!, but the history showed -5.5! (I hadn't noticed that). Looks like we have another bug here:

Cheers,

Gerson.

                              
Re: HP Prime emulator: Gamma function
Message #9 Posted by Stephan Matthys on 22 Aug 2013, 2:01 a.m.,
in response to message #5 by Gerson W. Barbosa

I checked the thing again this morning & got the incorrect results again:

:-o

Edit: It seems I have problems with the images (if it's not only our proxy server) ...
The values are:
Gamma(-4.5) = -.245736133286
(-5.5)! = -.245736133286

However, after resetting the calculator it shows the correct result:

Thus it might have been some weird settings preventing the calculator to return the correct results:
Gamma(-4.5) = -.0600196013005
(-5.5)! = -.0600196013005

The version of my emulator is:

Version 2013 8 5. Rev: 4980 The emulator tells me that there's no newer version available.

I apologise for all inconveniences...
Thanks for your support!

Edited: 22 Aug 2013, 2:16 a.m.

                                    
Re: HP Prime emulator: Gamma function
Message #10 Posted by Thomas Klemm on 22 Aug 2013, 2:56 a.m.,
in response to message #9 by Stephan Matthys

[img:http://img96.imageshack.us/img96/1623/yaui.png]


[img:http://img580.imageshack.us/img580/8314/dkpr.png]

[img:http://img839.imageshack.us/img839/6941/nv0h.png]

Not a problem with a proxy but with markup. And I used the direct URL.

Cheers
Thomas

                                    
Re: HP Prime emulator: Gamma function
Message #11 Posted by Gilles Carpentier on 22 Aug 2013, 3:02 a.m.,
in response to message #9 by Stephan Matthys

I got it !

CAS mode Set <\ in degree

(-5.5)! = -.245736133286

Rev 4980

                                          
Re: HP Prime emulator: Gamma function
Message #12 Posted by Gerson W. Barbosa on 22 Aug 2013, 8:03 a.m.,
in response to message #11 by Gilles Carpentier

Good find! This means the formula involving sine is being used for negative arguments. The bug persists on Rev. 5106.

                                                
Re: HP Prime emulator: Gamma function
Message #13 Posted by Thomas Klemm on 22 Aug 2013, 10:20 a.m.,
in response to message #12 by Gerson W. Barbosa

Quote:
This means the formula involving sine is being used for negative arguments.

= -0.24573613328569488790394658885834332520579131620384...

Quote:
The values are:
Gamma(-4.5) = -.245736133286

Gerson, I think you're correct! But then why is -4.5 used instead of 5.5 in sin?

Cheers
Thomas

Edited: 22 Aug 2013, 10:23 a.m.

                                                      
Re: HP Prime emulator: Gamma function
Message #14 Posted by Gerson W. Barbosa on 22 Aug 2013, 2:01 p.m.,
in response to message #13 by Thomas Klemm

Perhaps they're doing

(-z)!(z - 1)! = pi/(sin(pi*z))
and letting
z = -4.5
Thus,
Gamma(-4.5) = (-5.5)! = pi/(sin(-pi*4.5)*4.5!) = -0.0600196013005 
Considering the argument has been unduly converted into degrees, we convert it back to radians, that is,
z = -4.5*pi/180
and we get the same result the Prime is giving, -0.245736133286, which of course is completely wrong, as you know.

Cheers,

Gerson.

Edited to fix a typo.

Edited: 22 Aug 2013, 2:53 p.m.

                                                            
Re: HP Prime emulator: Gamma function
Message #15 Posted by Thomas Klemm on 22 Aug 2013, 3:04 p.m.,
in response to message #14 by Gerson W. Barbosa

Oh, now I see:

Thanks for pointing that out!

Best regards
Thomas

                                                                  
Re: HP Prime emulator: Gamma function
Message #16 Posted by Gerson W. Barbosa on 22 Aug 2013, 11:59 p.m.,
in response to message #15 by Thomas Klemm

Actually I only intended to write it in an easier-to-remember and less prone to confusion form:

Best regards,

Gerson.

                                                                        
Re: HP Prime emulator: Gamma function
Message #17 Posted by Thomas Klemm on 23 Aug 2013, 2:01 a.m.,
in response to message #16 by Gerson W. Barbosa

This formula reminds me of Valentin's HP-15C Mini-challenge.

                                                
Re: HP Prime emulator: Gamma function
Message #18 Posted by Gilles Carpentier on 22 Aug 2013, 11:17 a.m.,
in response to message #12 by Gerson W. Barbosa

I tested with XCAS and same problem...

                                    
Re: HP Prime emulator: Gamma function
Message #19 Posted by Gerson W. Barbosa on 22 Aug 2013, 8:14 a.m.,
in response to message #9 by Stephan Matthys

Quote:
However, after resetting the calculator it shows the correct result:

Thus it might have been some weird settings preventing the calculator to return the correct results:
Gamma(-4.5) = -.0600196013005
(-5.5)! = -.0600196013005

Not your fault, but HP's. They've forgotten to check the user's angle mode setting when evaluating Gamma . See Gilles's post below. You've indeed found a new bug. Thanks for reporting!

Regards,

Gerson.

                                          
Re: HP Prime emulator: Gamma function
Message #20 Posted by Stephan Matthys on 22 Aug 2013, 11:23 a.m.,
in response to message #19 by Gerson W. Barbosa

You're welcome. Actually it was by mistake... ;-)

Does anyone know if the bug also occurs on the real Prime or just in the emulator?

Edited: 22 Aug 2013, 11:24 a.m.

                  
Re: HP Prime emulator: Gamma function
Message #21 Posted by Miguel Toro on 22 Aug 2013, 2:22 p.m.,
in response to message #3 by Gerson W. Barbosa

Hi,

So, CAS mode does not show the expression the way you entered (CAS mode, Radians):

What is the difference between these two ?

Well, I copy the first one :

Then press [Enter] key:

Then, I copy the second one :

And there you have it. Of course, pressing [Enter] key gives:

                        
Re: HP Prime emulator: Gamma function
Message #22 Posted by Gerson W. Barbosa on 22 Aug 2013, 4:45 p.m.,
in response to message #21 by Miguel Toro

So they look alike, but are actually different :-)
Perhaps more difficult to fix than the other bug, but I think HP should address this one as well. Otherwise screen prints won't be a reliable information anymore.

Regards,

Gerson.

      
Re: HP Prime emulator: Gamma function
Message #23 Posted by Joe Horn on 21 Aug 2013, 2:58 p.m.,
in response to message #1 by Stephan Matthys

If it's a bug, it must involve a setting of some kind, because after Calculator Clear on the emulator, all four of the following return the same correct result (-.0600196013005) both in Home and in CAS:

(-5.5)! (using the [-] key)
(-5.5)! (using the [+/-] key)
Gamma(-4.5) (using the [-] key)
Gamma(-4.5) (using the [+/-] key)

If you see the bug again, please let us know what your non-default settings are. Thanks!

-Joe-

            
Re: HP Prime emulator: Gamma function
Message #24 Posted by Stephan Matthys on 21 Aug 2013, 3:02 p.m.,
in response to message #23 by Joe Horn

Thanks, Joe. I'll have to check that tomorrow.

            
Re: HP Prime emulator: Gamma function
Message #25 Posted by Gilles Carpentier on 22 Aug 2013, 3:07 a.m.,
in response to message #23 by Joe Horn

Hi Joe

The bug is in CAS mode and setting :

Set angle in Radian CAS mode

(-5.5)! -> -.6...

now set angle in (always CAS mode)

(-5.5)! -> -.2457...

(Rev 4980)

Edited: 22 Aug 2013, 3:14 a.m.

                  
Re: HP Prime emulator: Gamma function
Message #26 Posted by Marcus von Cube, Germany on 22 Aug 2013, 3:46 a.m.,
in response to message #25 by Gilles Carpentier

The setting (Degree or radian) affects both environments (goto settings in CAS or Home and see they are the same). The error only occurs from the CAS screen, not from the Home screen.

                  
Re: HP Prime emulator: Gamma function
Message #27 Posted by peacecalc on 22 Aug 2013, 4:08 a.m.,
in response to message #25 by Gilles Carpentier

Hello prime researchers,

the gamma function is normally defined for complex numbers except the negative integers. Maybe there is connection between the DEG and RAD mode and the inconsistent results in CAS mode?

Greeting peacecalc

                  
Re: HP Prime emulator: Gamma function
Message #28 Posted by Thomas Klemm on 22 Aug 2013, 4:32 a.m.,
in response to message #25 by Gilles Carpentier

Quote:
More important to get things right, with a smaller subset of functions that are fully tested and well documented, before starting the "lets lump in everyone's favorite function" game...

Couldn't agree more.

Cheers
Thomas

      
Re: HP Prime emulator: Gamma function
Message #29 Posted by Namir on 21 Aug 2013, 4:52 p.m.,
in response to message #1 by Stephan Matthys

I compared a few negative values (-5.5, -4.5, -3.5, -2.25, -2.45, and -22.45) for the Gamma function using the emulator AND using Wolfram Alpha. I did not see any difference in the results.

Namir

Edited: 21 Aug 2013, 4:53 p.m.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall