Happy Pi Day!
03-14-2017, 01:14 AM
Post: #1
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
Happy Pi Day!

Code:
 %%HP: T(3)A(R)F(.); DIR   PId   \<< PUSH RAD -105 CF -3 CF DUP .653 * 1.74 + IP R\->I DUP 2 MOD + DUP 4 * OVER DUPDUP 1 - 1     FOR i i SQ SWAP / PICK3 + ROT SWAP -1     STEP INV NIP UNROT + 1 - 3 0 UNROT     FOR i i INV i 2 - INV - + -4     STEP - 4 * EXPAND \->STR "/" " " SREPL DROP "'" "" SREPL DROP OBJ\-> DUP SIZE R\->I ALOG OVER - PICK3 * SWAP IQUOT + \->STR DUP HEAD -51 FC? { "." } { "," } IFTE + SWAP TAIL + 1 ROT 2 + SUB POP   \>>   PIn   \<< PUSH RAD -105 CF -3 CF DUP 4 * OVER DUPDUP 1 - 1     FOR i i SQ SWAP / PICK3 + ROT SWAP -1     STEP INV NIP UNROT + 1 - 3 0 UNROT     FOR i i INV i 2 - INV - + -4     STEP - 4 * EXPAND \->STR "/" " " SREPL DROP "'" "" SREPL DROP OBJ\-> DUP SIZE R\->I UNROT PICK3 ALOG OVER - PICK3 * SWAP IQUOT + \->STR DUP HEAD -51 FC? { "." } { "," } IFTE + SWAP TAIL + 1 ROT .8 * 2 + SUB POP   \>>   PIdLF   \<< PUSH RAD -105 CF -3 CF DUP 2 + 'DIGITS' STO .653 * 1.74 + IP R\->I DUP 2 MOD + DUP 4 * OVER DUPDUP 1 - 1     FOR i i SQ SWAP FDIV PICK3 FADD ROT SWAP -1     STEP FINV NIP UNROT + 1 - 3 0 UNROT     FOR i i FINV i 2 FSUB FINV FSUB FADD -4     STEP FSUB 4 FMULT ZZ\<-\->F DROP \->STR DUP HEAD -51 FC? { "." } { "," } IFTE + SWAP TAIL + DUP SIZE 1 - 1 SWAP SUB POP   \>>   PiM   \<< PUSH RAD -105 CF -3 CF RAD DUP 2 / 5 DUP2 LOG / \->NUM CEIL 2 * 1 - R\->I ATN1X 16 * 239 ROT OVER LOG / \->NUM CEIL 2 * 1 - R\->I ATN1X 4 * - EXPAND \->STR "/" " " SREPL DROP "'" "" SREPL DROP OBJ\-> DUP SIZE R\->I ALOG OVER - PICK3 * SWAP IQUOT + \->STR DUP HEAD -51 FC? { "." } { "," } IFTE + SWAP TAIL + 1 ROT 2 + SUB POP   \>>   ATN1X   \<< -1 UNROT 1 4 ROLLD OVER SQ PICK3 INV 4 ROLLD UNROT 3 SWAP     FOR i OVER * DUP i * INV 5 PICK * 4 ROLL + UNROT 5 ROLL 4 ROLLD 2     STEP DROP2 UNROT DROP2   \>>   PiMlf   \<< PUSH RAD -105 CF -3 CF RAD DUP 2 + 'DIGITS' STO 2 / 5 DUP2 LOG / \->NUM CEIL 2 * 1 - R\->I ATN1Xlf 16 FMULT 239 ROT OVER LOG / \->NUM CEIL 2 * 1 - R\->I ATN1Xlf 4 FMULT FSUB ZZ\<-\->F DROP \->STR DUP HEAD -51 FC? { "." } { "," } IFTE + SWAP TAIL + DUP SIZE 1 - 1 SWAP SUB POP   \>>   ATN1Xlf   \<< -1 UNROT 1 4 ROLLD OVER SQ PICK3 FINV 4 ROLLD UNROT 3 SWAP     FOR i OVER FMULT DUP i * FINV 5 PICK FMULT 4 ROLL FADD UNROT 5 ROLL 4 ROLLD 2     STEP DROP2 UNROT DROP2   \>>   DIGITS 52 END
03-14-2017, 06:17 AM
Post: #2
 Ángel Martin Senior Member Posts: 1,223 Joined: Dec 2013
RE: Happy Pi Day!
Directing your attention to the post below, which will let you calculate up to 4.915 digits of Pi using41 MCODE.....

Module image is included.
03-14-2017, 08:22 AM
Post: #3
 Csaba Tizedes Senior Member Posts: 485 Joined: May 2014
RE: Happy Pi Day!
Estimation of PI on HP15C with Monte Carlo simulation: DropBox link (pdf)

Csaba
03-14-2017, 12:47 PM
Post: #4
 Dave Britten Senior Member Posts: 1,770 Joined: Dec 2013
RE: Happy Pi Day!
You know, just as I was driving to work this morning, I thought, damn, I should have grabbed my 82240 on the way out and printed a few hundred digits of pi with my 48SX!

Guess I'll go dig through the software library and see what I can do with my DM41L.
03-14-2017, 01:06 PM
Post: #5
 Eddie W. Shore Senior Member Posts: 1,164 Joined: Dec 2013
RE: Happy Pi Day!
Happy Pi Day 2017! Cool program, Gerson!

Next year should everything work out, I'll be celebrating my 41st birthday (I'm 40 today) with an HP 41C.

Attached File(s) Thumbnail(s)

03-14-2017, 01:22 PM
Post: #6
 jebem Senior Member Posts: 1,339 Joined: Feb 2014
RE: Happy Pi Day!
(03-14-2017 01:06 PM)Eddie W. Shore Wrote:  Happy Pi Day 2017! Cool program, Gerson!

Next year should everything work out, I'll be celebrating my 41st birthday (I'm 40 today) with an HP 41C.

Eddie, I wish you a nice and cheerful day and may all your goals come true!

Jose Mesquita

03-14-2017, 01:24 PM
Post: #7
 Eddie W. Shore Senior Member Posts: 1,164 Joined: Dec 2013
RE: Happy Pi Day!
Thank you Gerson!
03-14-2017, 03:50 PM (This post was last modified: 03-14-2017 07:34 PM by Gerson W. Barbosa.)
Post: #8
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!
(03-14-2017 01:24 PM)Eddie W. Shore Wrote:  Thank you Gerson!

You are most welcome, Eddie!

(03-14-2017 01:06 PM)Eddie W. Shore Wrote:  Next year should everything work out, I'll be celebrating my 41st birthday (I'm 40 today) with an HP 41C.

Happy birthday, as well! Since last year's Pi Approximation Day I'm Fib(10) years old. I wish all of us here to celebrate many and many Pi Days and Fib(11) birthdays one day :-)

Gerson.

Edited to add a forgotten verb between a pronoun and an adverb and to remove a definite article. I don't want to sound – or read – "awkward" :-)
03-14-2017, 05:07 PM (This post was last modified: 03-16-2017 12:03 AM by Gerson W. Barbosa.)
Post: #9
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!

The first program in the directory, PId, computes d digits of π using the simple formula

$\pi=4\cdot \arctan (1)$

Arctan(1) is calculated using the formula previously presented here,

$\frac{\pi }{4}= 1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\cdots +\frac{1}{2n-3}-\frac{1}{2n-1}+\frac{1}{4n+\frac{1^{2}}{n+\frac{2^{2}}{4n+\frac{3^{2}}{n+\frac{4^{2}}{4n+...​ }}}}}$

using n equal number of terms of the regular series and of the continued fraction. The second program (PIn) computes the sum of such n terms. Its slowness for large number of digits or terms is due to the limitation of the HP-49G/50g when dealing with the resulting very long algebraic expression before it is eventually expanded. Freeing more memory might help.

The third program, PIdLF, is a LongFloat Library version of PId.

PiM and PiMlf, its equivalent LongFloat version, compute π using Machin's formula:

$\pi = 16\cdot \arctan \frac{1}{5}-4\cdot \arctan \frac{1}{239}$

That's the same formula used by William Shanks to compute π about 150 years ago, after spending 15 years in the task, done by hand, without using any computing devices whatsoever. The last 180 digits being wrong is not impressive, the first 527 digits being correct is. That's why we have used two different methods. As we can see, but for for a rounding in the last digits in the fourth printing, all digits match.

Gerson.
03-15-2017, 02:53 AM
Post: #10
 d b Senior Member Posts: 489 Joined: Dec 2013
RE: Happy Pi Day!
03-15-2017, 11:04 AM
Post: #11
 franz.b Member Posts: 118 Joined: Jan 2017
RE: Happy Pi Day!
355/113 is enough for me B-)
03-15-2017, 03:57 PM (This post was last modified: 03-15-2017 10:42 PM by Gerson W. Barbosa.)
Post: #12
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!
(03-15-2017 11:04 AM)franz.b Wrote:  355/113 is enough for me B-)

That's perhaps the most efficient rational approximation for $$\pi$$: six digits in a mnemonic sequence giving seven correct digits.

The 1762-digit fraction below gives only 707 digits (perhaps a few more) and is somewhat hard to memorize.

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

707

« PUSH RAD -105 CF -3 CF DUP .653 * 1.74 + IP R→I DUP 2 MOD + DUP 4 * OVER DUPDUP 1 - 1
FOR i i SQ SWAP / PICK3 + ROT SWAP -1
STEP INV NIP UNROT + 1 - 3 0 UNROT
FOR i i INV i 2 - INV - + -4
STEP - 4 * EXPAND →STR "'" "" SREPL ROT DROP2 POP
»

:s: 1274.5305 (time on my iPhone)

35471270118869764571868355345605539644932682747073948595148728173396218838668496​80716426124902558473273344718040678263223310007300548098446944940735563175195185​79323304238108709671904418651693017693336383731106603027004914829454445857328201​05924605428311002761716473437615659392155761487611060526868601273453231898921986​03346750895370582643794723222113030733123697513779494958569010520916965922261361​50912781934736718101804617138969374612667021145232878466424131101366141969361769​76029123163627319062908158192243507523352526680253139185385238035253759673955361​64753305772996193396743873266368301326861081810651321062825642235467130083886694​29978624344603656750671217335693097846544875989492305955191455496667840796358958​54318597270213456322812296404622832012961138994524991861828477269161456938399075​36641613518969979837287818614714737709619011495381477179300261556327556859088076​8
/
11290855954331929765162875991672337005763900233129789215007366526465816927928074​99910519051390719630100518054981495532402000479709747220290019459549698290971530​80519808598234473145589659408612308338495967787945281300419514221238758104012207​91617778874064429696755480283483475358841356899944430809069589392140510992481520​00826115469277539329220641057707652808895534744233006721848321578069349072611507​65976928124031425881129023075006910569280746723187915395363232463456021210395860​67513765201530999299014996124193701700437357615236050277051928851200804664427103​09230073374186050477298794155770558099350191823502206767887178212506347749784516​42170205919755951022290456573354203993293526964682167478504255902556770952397557​10260367678979941803636081060659736127271086039016609855284050676165107007788796​80847217941144275687554984641214388815408615188638900225501578409931091369249187​5

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

Edited to add a missing 's'.
Edited again per Valentin's observation below.
03-15-2017, 08:56 PM
Post: #13
 Valentin Albillo Senior Member Posts: 709 Joined: Feb 2015
RE: Happy Pi Day!
.
Hi, Gerson:

(03-15-2017 03:57 PM)Gerson W. Barbosa Wrote:
(03-15-2017 11:04 AM)franz.b Wrote:  355/113 is enough for me B-)

That's perhaps the most efficient rational approximation for $$\pi$$: six digits in a mnemonic sequence giving six correct decimal places.

More like seven correct decimal places, not six: 3,1415929.. vs. 3,1415926...

In my so-so humble opinion, the very best $$\pi$$ approximation (i.e.: the more correct digits using the less digits and operations) is by far:

Ln(640320^3)/Sqrt(163) = 3,141592653589793016...

which gives 16 correct digits.

Regards.
V.
.

Find All My HP-related Materials here:  Valentin Albillo's HP Collection

03-15-2017, 10:50 PM (This post was last modified: 03-15-2017 10:58 PM by Gerson W. Barbosa.)
Post: #14
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!
(03-15-2017 08:56 PM)Valentin Albillo Wrote:
(03-15-2017 03:57 PM)Gerson W. Barbosa Wrote:  That's perhaps the most efficient rational approximation for $$\pi$$: six digits in a mnemonic sequence giving six correct decimal places.

More like seven correct decimal places, not six: 3,1415929.. vs. 3,1415926...

Hello, Valentin,

By decimal places I meant the ones at the right of the decimal point, but I have edited the post to avoid the ambiguity. Thanks!

Gerson.
03-15-2017, 11:33 PM
Post: #15
 Joe Horn Senior Member Posts: 1,710 Joined: Dec 2013
RE: Happy Pi Day!
(03-14-2017 05:07 PM)Gerson W. Barbosa Wrote:  PiM and PiMlf, its equivalent LongFloat version, compute π using Machin's formula:

$\pi = 16\cdot \arctan \frac{1}{5}+4\cdot \arctan \frac{1}{239}$

I think that "+" should be a "-".

<0|ɸ|0>
-Joe-
03-16-2017, 12:06 AM
Post: #16
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!
(03-15-2017 11:33 PM)Joe Horn Wrote:
(03-14-2017 05:07 PM)Gerson W. Barbosa Wrote:  PiM and PiMlf, its equivalent LongFloat version, compute π using Machin's formula:

$\pi = 16\cdot \arctan \frac{1}{5}+4\cdot \arctan \frac{1}{239}$

I think that "+" should be a "-".

Fixed. Thanks!
03-16-2017, 01:22 AM
Post: #17
 ttw Member Posts: 225 Joined: Jun 2014
RE: Happy Pi Day!
Base 16, each digit of Pi (or any arbitrary digit of Pi) can be computed independent of the others.

https://en.wikipedia.org/wiki/Bailey%E2%...fe_formula

Other formulae may be found here: https://www.carma.newcastle.edu.au/jon/pi-2010.pdf

Whether using quadratic or cubic or quartic convergence type formulae, computing a large number of digits of Pi take about the same time. The last step always needs more precision than any of the other steps.
03-17-2017, 10:00 PM (This post was last modified: 03-17-2017 10:02 PM by EdS2.)
Post: #18
 EdS2 Member Posts: 288 Joined: Apr 2014
RE: Happy Pi Day!
(03-15-2017 08:56 PM)Valentin Albillo Wrote:  In my so-so humble opinion, the very best $$\pi$$ approximation (i.e.: the more correct digits using the less digits and operations) is by far:

Ln(640320^3)/Sqrt(163) = 3,141592653589793016...

which gives 16 correct digits.
Spectacular! Are you also aware of this 18 digit approximation?
12/sqrt(190) * ln((2 sqrt 2 + sqrt 10)*(3+sqrt 10))
via
https://www.johndcook.com/blog/2012/10/0...oximation/
03-18-2017, 02:17 AM (This post was last modified: 03-18-2017 02:19 AM by Gerson W. Barbosa.)
Post: #19
 Gerson W. Barbosa Senior Member Posts: 1,380 Joined: Dec 2013
RE: Happy Pi Day!
(03-17-2017 10:00 PM)EdS2 Wrote:
12/sqrt(190) * ln((2 sqrt 2 + sqrt 10)*(3+sqrt 10))

Or, equivalently, using eight digits:

' √(18/95)*(LN(2)+2*(ASINH(2)+ASINH(3)))'                (45 bytes)

« 2 ASINH 3 ASINH + 2 * 2 LN + 18 95 /  √ * »            (55.5 bytes)

It doesn't compare to the previous one, though:

'3*LN(640320)/√163'                                      (33 bytes)

« 3 640320 LN * 163  √ / »                               (38 bytes)

This attempt needs twice more bytes for about the same accuracy:

'1/163*(69-EXP(-8/(1/163/401+1)))+e'                     (70 bytes)

« 163 INV DUP 401 / 1 + -8 SWAP / EXP 69 SWAP - * e + »  (65.5 bytes)
03-18-2017, 03:43 AM
Post: #20
 Joe Horn Senior Member Posts: 1,710 Joined: Dec 2013
RE: Happy Pi Day!
(03-15-2017 03:57 PM)Gerson W. Barbosa Wrote:
(03-15-2017 11:04 AM)franz.b Wrote:  355/113 is enough for me B-)
That's perhaps the most efficient rational approximation for $$\pi$$: six digits in a mnemonic sequence giving seven correct digits.

Here's an even better one:

$$\frac{190187072856692307609014394471477033962159076831354633719252611556270433​96809635643200078081079293702997523451876888357413870030368533612856711580598677​02399073227994426905220194699766118756059055619036488502928002591}{6053842551464​20326102361023215940531716391478150345020739231253172134740688232476946000058713​77454979656144746826774641287402271754410094658714414873962680343513347328160666​3121381125761746030151344353855924025288111}$$

That's 433 digits (217 digits over 216 digits) that returns 435 digits of pi. Converting the above into a mnemonic is left as an exercise for the student.

<0|ɸ|0>
-Joe-
 « Next Oldest | Next Newest »

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