Happy Pi Day! - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: General Forum (/forum-4.html) +--- Thread: Happy Pi Day! (/thread-7939.html) Pages: 1 2 Happy Pi Day! - Gerson W. Barbosa - 03-14-2017 01:14 AM 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 RE: Happy Pi Day! - Ángel Martin - 03-14-2017 06:17 AM Directing your attention to the post below, which will let you calculate up to 4.915 digits of Pi using41 MCODE..... http://www.hpmuseum.org/forum/thread-7864.html Module image is included. RE: Happy Pi Day! - Csaba Tizedes - 03-14-2017 08:22 AM Estimation of PI on HP15C with Monte Carlo simulation: DropBox link (pdf) Csaba RE: Happy Pi Day! - Dave Britten - 03-14-2017 12:47 PM 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. RE: Happy Pi Day! - Eddie W. Shore - 03-14-2017 01:06 PM 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. RE: Happy Pi Day! - jebem - 03-14-2017 01:22 PM (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! RE: Happy Pi Day! - Eddie W. Shore - 03-14-2017 01:24 PM Thank you Gerson! RE: Happy Pi Day! - Gerson W. Barbosa - 03-14-2017 03:50 PM (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" :-) RE: Happy Pi Day! - Gerson W. Barbosa - 03-14-2017 05:07 PM Thank you all for the Pi-related links and comments! 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. RE: Happy Pi Day! - d b - 03-15-2017 02:53 AM piball RE: Happy Pi Day! - franz.b - 03-15-2017 11:04 AM 355/113 is enough for me B-) RE: Happy Pi Day! - Gerson W. Barbosa - 03-15-2017 03:57 PM (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. RE: Happy Pi Day! - Valentin Albillo - 03-15-2017 08:56 PM . 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. . RE: Happy Pi Day! - Gerson W. Barbosa - 03-15-2017 10:50 PM (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. RE: Happy Pi Day! - Joe Horn - 03-15-2017 11:33 PM (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 "-". RE: Happy Pi Day! - Gerson W. Barbosa - 03-16-2017 12:06 AM (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! RE: Happy Pi Day! - ttw - 03-16-2017 01:22 AM 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%80%93Borwein%E2%80%93Plouffe_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. RE: Happy Pi Day! - EdS2 - 03-17-2017 10:00 PM (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/08/ramanujan-pi-approximation/ RE: Happy Pi Day! - Gerson W. Barbosa - 03-18-2017 02:17 AM (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) RE: Happy Pi Day! - Joe Horn - 03-18-2017 03:43 AM (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.