Approximate pi to 24 digits via keyboard

01302015, 06:35 PM
Post: #1




Approximate pi to 24 digits via keyboard
This works with several HP calculators I've tried it on, but not on other scientific calculators like a TI83+ for example. In radians, for eps << 1, sin(pi  eps) = sin(pi)*cos(eps)  cos(pi)*sin(eps) = 0  (1)*sin(eps) = sin(eps) ~= eps. So:
sin(3.14159265358) * 1e12 = 9.79323846264, the next 12 digits of pi (3.14159265358979323846264...). Notice this requires entering the first 12 *truncated* digits of pi (3.1415926535*8*) to be sure the value is slightly less than pi, not the 12digit calculator *rounded approximation* to pi of 3.1415926535*9* that is actually a little larger than pi. This can be known without knowing the value of pi to begin with, because sin(<calculator approximation to pi>) is a small *negative* number. So the calculator approximation is larger than pi and the 12th truncated digit must be an 8, not a 9. 

01302015, 07:22 PM
Post: #2




RE: Approximate pi to 24 digits via keyboard
(01302015 06:35 PM)Rick314 Wrote: This works with several HP calculators I've tried it on, but not on other scientific calculators like a TI83+ for example. In radians, for eps << 1, sin(pi  eps) = sin(pi)*cos(eps)  cos(pi)*sin(eps) = 0  (1)*sin(eps) = sin(eps) ~= eps. So: This does not work on any classic HP35, HP45 ... or woodstock calculators HP21,HP25,HP27 ... with 56bit BCD arithmetik. Bernhard 

01302015, 07:53 PM
Post: #3




RE: Approximate pi to 24 digits via keyboard
(01302015 07:22 PM)PANAMATIK Wrote: This does not work on any classic HP35, HP45 ... or woodstock calculators HP21,HP25,HP27 ... with 56bit BCD arithmetik. Interesting, so I checked several HP calculators I have available. It works on the HP22S, HP28S, HP32SII and HP35S. It doesn't work on the HP67 or HP41CX. 

01302015, 08:38 PM
Post: #4




RE: Approximate pi to 24 digits via keyboard
It works with the 48SX  49 50.
Don't work with the 15C LE I noticed that the CASIO FX602P and 603P returns exactly 0. for the SIN with the predefine PI constant. Both 602P and 603P have some curious rounding process (ex : sqrt(2) * sqrt (2) returns exactly 2) 

01312015, 07:06 AM
Post: #5




RE: Approximate pi to 24 digits via keyboard
(01302015 06:35 PM)Rick314 Wrote: This works with several HP calculators I've tried it on, but not on other scientific calculators like a TI83+ for example. It works on calculators with a sufficient number of internal digits of pi. For instance, HP's classic 10digit machines (at least since the midSeventies) only use 13 digits, so sin 3,141592653 will not return more than 5,90 E–10. Newer 12digit calculators work differently – I do not know how many digits of pi are stored internally – and so you get 12 additional digits. BTW, instead of the sine you can also use the tangent – just with a negative sign. Actually the number of digits roughly doubles with each step. Using the tangent finally is nothing but a Newton iteration for solving sin x = 0: the quotient of the function and its derivative is sin(x)/cos(x) = tan(x). ;) FWIW, the WP34s in double precision mode (34 digits) returns 17 additional correct digits (both with sin and tan). So I assume the internal representation of pi has about 50 digits – or the sine/tangent algorithms may have somewhat limited accuracy for border cases like these. Dieter 

01312015, 07:11 AM
(This post was last modified: 01312015 07:14 AM by Dieter.)
Post: #6




RE: Approximate pi to 24 digits via keyboard
(01302015 08:38 PM)Gilles Wrote: It works with the 48SX  49 50. Right, the 15C should return three additional digits, as mentioned in my other post. Since the third digit is zero, you'll see only two (5,9 E–10). ;) (01302015 08:38 PM)Gilles Wrote: I noticed that the CASIO FX602P and 603P returns exactly 0. for the SIN with the predefine PI constant. Both 602P and 603P have some curious rounding process (ex : sqrt(2) * sqrt (2) returns exactly 2) Sounds a bit like "don't confuse the student and return what he expects". #) Do the Casios also return a plain 2 if you calculate 1,414213562 * 1,414213562 manually, i.e. without using the sqrtkey? Or a plain zero for sin 3,141592653 resp. ...54? Dieter 

01312015, 11:25 AM
(This post was last modified: 01312015 11:30 AM by Gilles.)
Post: #7




RE: Approximate pi to 24 digits via keyboard
(01312015 07:11 AM)Dieter Wrote: Sounds a bit like "don't confuse the student and return what he expects". #) 602/603P 1,414213562 x² > 1.999999999 (1.99999999= > 8.94E9) 1,414213562 + 3.7E10 = x² >2. (exactly  2 > 0) After some test I think there is a rounding process with the 12th (no displayed) digit : 1.999999999 + 9.6E10 > is 2. (exactly because 2 = > 0) 1.999999999 + 9E10 > display 2. (but 2 = > 1E10) 3,141592653 SIN > 6E10 3,141592653 + 6E10 = SIN > 0 PS : In fact, this is described in a user guide that I found online (but not in my old french user guide): 602/603P : It looks curious but explains why sqrt(7)*sqrt(7) returns exactly 7 on my old Casio602P 

01312015, 06:17 PM
Post: #8




RE: Approximate pi to 24 digits via keyboard
(01312015 11:25 AM)Gilles Wrote: After some test I think there is a rounding process with the 12th (no displayed) digit : Hmmm... calculate a result with 12 digits, and if this result matches an exact 10digit result within +7/–8 ULP, simply return this rounded 10digit result. Sounds like a typical example for cosmetic rounding. ;) Dieter 

02012015, 12:21 AM
(This post was last modified: 02012015 12:52 AM by Rick314.)
Post: #9




RE: Approximate pi to 24 digits via keyboard
(01312015 07:06 AM)Dieter Wrote: It works on calculators with a sufficient number of internal digits of pi... Newer 12digit calculators work differently – I do not know how many digits of pi are stored internally – and so you get 12 additional digits. Hi Dieter. I think what you said here is incorrect. The "newer 12digit calculators" store the value of pi internally to 12 digits. The point of this post is that calculators vary in their sin(x) algorithm for values of x very close to pi. Just speaking pure math, not calculators or rounding errors or related, if x = 3.14159265358 (exactly) then sin(x) = 9.793238462643383...e12. Update: By the way, eventually the "9.793238462643383..." digits in the previous sentence will deviate from the digits of pi, because sin(pi  eps) only approximately equals eps. In this case eps is about 1 count in the 11th decimal place, or 1e11. Since sin(x) for small x equals approximately x  x^3/3! the digits will start deviating around (1e11)^3 or the 33rd decimal place. Sure enough, 1e11 * sin(3.14159265358) = 0. 979323846264338327950272... and pi = 3.14159265358 979323846264338327950288... with deviation at the 34th decimal place of pi. 

02012015, 08:41 AM
Post: #10




RE: Approximate pi to 24 digits via keyboard
This behavior is well known and has been discussed in the past, see for instance here.
And as an evidence of the doubleprecision pi value in Saturn machines, here is an extract of the HP71B source code (the first Saturn machine, and the only one with public source files): In the same Math routine module, there are doubleprecision arithmetic functions to do the argument reduction. JF 

02012015, 11:07 AM
Post: #11




RE: Approximate pi to 24 digits via keyboard  
02012015, 11:34 AM
Post: #12




RE: Approximate pi to 24 digits via keyboard
(02012015 11:07 AM)Thomas Klemm Wrote:(02012015 08:41 AM)JF Garnier Wrote: the first Saturn machine, and the only one with public source filesCould you provide a link where we could access them? The HP71B IDS documents are available on the MoHPC DVD (or USB drive now). 

02012015, 02:12 PM
Post: #13




RE: Approximate pi to 24 digits via keyboard
(02012015 12:21 AM)Rick314 Wrote: Hi Dieter. I think what you said here is incorrect. The "newer 12digit calculators" store the value of pi internally to 12 digits. Sorry if I was not clear about that. Of course these calculators return a 12digitvalue if you press the pi key, but I referred to the internal trig algorithms that contain a value for pi in much higher precision. (02012015 12:21 AM)Rick314 Wrote: The point of this post is that calculators vary in their sin(x) algorithm for values of x very close to pi. Just speaking pure math, not calculators or rounding errors or related, if x = 3.14159265358 (exactly) then sin(x) = 9.793238462643383...e12. Right. And that's where the internal pi value (as used in the trig algorithms) comes in. While some algorithms use just 13 digits (most HP 10 digit machines) others may use a much higher precision value. Maybe someone knows the number of pi digits for different HP CPUs and algorithms. The assembler listing shown in this thread states 31 digits for pi/4. Dieter 

02012015, 04:27 PM
Post: #14




RE: Approximate pi to 24 digits via keyboard
Isn't the result given by the HP41C or HP15C more appropriate than returning 12 digits like the HP48G? Since we can't enter more than 12 digits why should the calculator assume that next 12 digits are all 0? But that's exactly what happens:
Code: 3.14159265358979323846264 It's interesting that they did this but honestly I don't see an application where these additional digits are useful. Cheers Thomas 

02012015, 05:34 PM
Post: #15




RE: Approximate pi to 24 digits via keyboard
(02012015 04:27 PM)Thomas Klemm Wrote: Isn't the result given by the HP41C or HP15C more appropriate than returning 12 digits like the HP48G? Since we can't enter more than 12 digits why should the calculator assume that next 12 digits are all 0? But that's exactly what happens: Yes, that's right. But in all other cases the calculator also assumes that the input is an exact 10 or 12 digit value. The only other option is returning an interval, i.e. the result for x–0,5 ULP and x+0,5 ULP. Consider this: Code: 1003 e^x => 3,95699361019 E+435 So should the calculator drop the last four digits and return 3,9569936 E+435 for e^{1003} instead? Dieter 

02012015, 05:44 PM
(This post was last modified: 02012015 05:52 PM by Rick314.)
Post: #16




RE: Approximate pi to 24 digits via keyboard
(02012015 08:41 AM)JF Garnier Wrote: This behavior is well known and has been discussed in the past, see for instance here. Thanks, and possibly they learned it from my post to Usenet group alt.math.recreational about 10 months earlier here. I don't know if I was the first person to discover it, but did come up with it on my own. I was just recently looking at another thread in this forum and thought to share it here. I would be interested in related postings before 10/27/03 that you can find. I see now we mean the same thing by "internal value of pi" and "the sin(x) algorithm". The algorithm uses an extended precision approximation to pi. I think most important is that the firmware designers recognized the need of doing something special to provide a full calculator precision answer to sin(x) when x is close to pi. I think others just missed the whole issue. Thanks to all those following up. Math is fun! 

02012015, 07:24 PM
Post: #17




RE: Approximate pi to 24 digits via keyboard
(02012015 05:34 PM)Dieter Wrote: So should the calculator drop the last four digits and return 3,9569936 E+435 for e^{1003} instead? After all you should take the result with a grain of salt. The relative error is multiplied by 1003 thus the last 34 digits are indeed meaningless. But at least the first 8 digits are significant. The difference I see between these two examples is that with \(\sin(x)\) for \(x\) close to \(\pi\) we experience cancellation. Cheers Thomas 

02012015, 08:08 PM
Post: #18




RE: Approximate pi to 24 digits via keyboard
(01312015 07:06 AM)Dieter Wrote: It works on calculators with a sufficient number of internal digits of pi.To be pedantic, it works on calculators with sufficiently accurate trig calculations  although probably all calculators do range reduction, and use some approximation to pi in doing so, in fact it's possible to calculate sin(x) without doing range reduction: in which case you need no information about the value of pi. Here are the first few partial sums for sin(3.1415): Code: 3.1415 

02012015, 09:17 PM
Post: #19




RE: Approximate pi to 24 digits via keyboard
(02012015 07:24 PM)Thomas Klemm Wrote:(02012015 05:34 PM)Dieter Wrote: So should the calculator drop the last four digits and return 3,9569936 E+435 for e^{1003} instead? Hello Thomas. I'm with Dieter here, and yes absolutely nonentered input digits should be considered to be 0. e^1003, e^(1003 + 1e8) and e^(1003  1e8) are distinct different recognizable inputs to a 12digit calculator and each has a different unique 12digit approximation to the exact correct answer. (I checked with extendedprecision software and Dieter's 3 answers are indeed the best 12digit answers possible. They are also what my HP35S returns, so kudos to the HP35S same as for its sin(x) algorithm.) I don't think there is any "relative error" on the 3 different inputs, and the 3 different answers are the correct 12digit answers. 

02012015, 10:25 PM
(This post was last modified: 02012015 10:28 PM by Dieter.)
Post: #20




RE: Approximate pi to 24 digits via keyboard
(02012015 09:17 PM)Rick314 Wrote: Hello Thomas. I'm with Dieter here, and yes absolutely nonentered input digits should be considered to be 0. e^1003, e^(1003 + 1e8) and e^(1003  1e8) are distinct different recognizable inputs to a 12digit calculator and each has a different unique 12digit approximation to the exact correct answer. Thank you, Rick. But in the end I think we will all come together with something we all can agree with. ;) If I understand Thomas correctly, his point is that a 12digit approximation for pi (e.g. 3,14159265358 or ...59) may be anything within this interval, but the sine of such a random argument can vary substantially. So taking all results magno cum grano salis is advised – as usual. I chose this example with the exponential function because here the relative error can be estimated very easily: since e^{x} approximately equals 1+x if x is sufficiently small, the three values differ by a relative difference of quite exactly 1E–8. So the results agree in not more than 8 out of 12 digits. Now if you assume that "1003" is just an approximation of a random value within 0,5 ULP, i.e. something between 1002,999999995 and 1003,000000005, where e^{x} agrees only in its first 8 digits: how much sense is then in a 12digit result? So there are simply two different assumptions: either 3,14159265358 is considered exact, i.e. 3,1415926535800000000000000.... (that's what I prefer, and obviously you do as well), or one may think of it as "anything between 3,141592653575 and 3,141592653585" (which would mean that any returned value for the sine of this is meaningless). (02012015 09:17 PM)Rick314 Wrote: (I checked with extendedprecision software and Dieter's 3 answers are indeed the best 12digit answers possible. They are also what my HP35S returns, so kudos to the HP35S same as for its sin(x) algorithm.) I don't think there is any "relative error" on the 3 different inputs, and the 3 different answers are the correct 12digit answers. Yes, the 35s does return these three results – actually that's the calculator I used for the calculation. But you should not be too generous with your kudos: take a look at these results by the 35s and probably also other HPs: Code: 3,1 [SIN] 4,15806624333 E2 exact ;) Dieter 

« Next Oldest  Next Newest »

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