GAMMA and BETA on the 17BII+ « Next Oldest | Next Newest »

 ▼ Bob Wang Unregistered Posts: 90 Threads: 22 Joined: Jun 2005 06-05-2005, 10:57 PM One very annoying feature of the 17BII+ is that at some point in length of programs, the Solver just returns 0. A straight forward example can be seen using Viktor T. Toth's Calculators and the Gamma Function: ```GAMMA: (75122.6331530+80916.6278952×Z+36308.2951477×Z^2+8687.24529705×Z^3 +1168.92649479×Z^4+83.8676043424×Z^5+2.50662827511×Z^6) ÷Z÷(Z+1)÷(Z+2)÷(Z+3)÷(Z+4)÷(Z+5)÷(Z+6) ×(Z+5.5)^(Z+.5)×EXP(-(Z+5.5)) -GAMMA Calculated GAMMA Values 1 1.0000000001 2 1 3 2 4 6.0000000002 5 23.9999999999 6 120 7 720 8 5,039.99999998 9 40,320 10 362,880 BETA: 0×L(R:P+Q-1)×L(A:75122.6331530)×L(B:80916.6278952)×L(C:36308.2951477) ×L(D:8687.24529705)×L(E:1168.92649479)×L(F:83.8676043424)×L(G:2.50662827511) +(G(A)+G(B)×P+G(C)×P^2+G(D)×P^3+G(E)×P^4+G(F)×P^5+G(G)×P^6) ÷P÷(P+1)÷(P+2)÷(P+3)÷(P+4)÷(P+5)÷(P+6) ×(P+5.5)^(P+.5)×EXP(-(P+5.5)) ×(G(A)+G(B)×Q+G(C)×Q^2+G(D)×Q^3+G(E)×Q^4+G(F)×Q^5+G(G)×Q^6) ÷Q÷(Q+1)÷(Q+2)÷(Q+3)÷(Q+4)÷(Q+5)÷(Q+6) ×(Q+5.5)^(Q+.5)×EXP(-(Q+5.5)) ÷(G(A)+G(B)×G(R)+G(C)×G(R)^2+G(D)×G(R)^3+G(E)×G(R)^4+G(F)×G(R)^5+G(G)×G(R)^6) ×G(R)×(G(R)+1)×(G(R)+2)×(G(R)+3)×(G(R)+4)×(G(R)+5)×(G(R)+6) ÷((G(R)+5.5)^(G(R)+.5))÷EXP(-(G(R)+5.5)) -BETA p = 4, q = 5, Exact beta = 1÷35 = .028571428571 Calculated beta = .0285714273948 (15 seconds on 19B) Error = 1.177E-9 beta = 0 on the 17BII+ ``` Bob P.S. Of course, in defense of the 17BII+, one could ask "WHY would ANYONE need these on a financial calculator?" ;-) ▼ Tony Unregistered Posts: 111 Threads: 19 Joined: Jan 1970 06-06-2005, 03:06 AM Hi Bob, You can more than halve the size of your GAMMA and BETA Solver equations by using the *original* Lanczos formula given in Victor's article, rather than the form given as suitable for programmable calculators. Use a SUM list called GAMP, comprising the P1-P6 factors: ```Item Value 1 76.1800917295 2 -86.5053203294 3 24.0140982408 4 -1.23173957245 5 1.20865097387E-3 6 -5.39523938495E-6 ``` Note the GAMP list totals 12.4583333242. Hopefully these equations will work in the 17BII+ Solver: ```GAMMA: SQRT(2*PI)/Z*(Z+5.5)^(Z+.5)/EXP(Z+5.5) *(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)/(Z+N))) -GAMMA BETA: SQRT(2*PI)*(P+Q)/P/Q*EXP(-5.5) *(P+5.5)^(P+.5)*(Q+5.5)^(Q+.5)/(P+Q+5.5)^(P+Q+.5) *(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)/(P+N))) *(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)/(Q+N))) /(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)/(P+Q+N))) -BETA ``` The 1+19E-11=1.00000000019 - the Lanczos P0. Note, BETA(4,5)=3!*4!/8!=1/280. The HP19BII solves BETA(4,5) in 4 seconds, giving 3.57142857143E-3 (exact), so it works a lot faster for the shorter formula. Cheers, Tony ▼ Bob Wang Unregistered Posts: 90 Threads: 22 Joined: Jun 2005 06-06-2005, 12:55 PM The following GAMMA and BETA functions are based on Tony Hutchins' excellent suggestions. Smaller, faster, AND more accurate! Who says there's no free lunch. ```Use a SUM list called GAMP, comprising the P1-P6 factors: Item Value 1 76.1800917295 2 -86.5053203294 3 24.0140982408 4 -1.23173957245 5 1.20865097387E-3 6 -5.39523938495E-6 Note the GAMP list totals 12.4583333242. GAMMA: SQRT(2×PI)÷Z×(Z+5.5)^(Z+.5)÷EXP(Z+5.5) ×(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)÷(Z+N))) -GAMMA Calculated GAMMA Values (17BII+) 1 1.0000000001 2 .999999999986 3 2 4 5.99999999998 5 23.9999999999 6 120 7 720.000000002 8 5,039.99999999 9 40,319.9999999 10 362,880.000001 BETA: SQRT(2×PI)×(P+Q)÷P÷Q×EXP(-5.5) ×(P+5.5)^(P+.5)×(Q+5.5)^(Q+.5)÷(P+Q+5.5)^(P+Q+.5) ×(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)÷(P+N))) ×(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)÷(Q+N))) ÷(1+19E-11+SIGMA(N:1:6:1:ITEM(GAMP:N)÷(P+Q+N))) -BETA p = 4 q = 5 Exact Beta = 3!×4!÷8! = 1÷280 Exact Beta = 0.00357142857142857 Calculated = 0.00357142857143 (2.8 seconds on 17BII+) Error = 0 Bob ```

 Possibly Related Threads… Thread Author Replies Views Last Post 17BII & 17BII+ Discounted Payback Period Revisited Tom Neudorfl 8 2,873 11-25-2013, 10:28 AM Last Post: Don Shepherd HP15c continued fraction for Ln(Gamma) Tom Grydeland 0 1,111 09-30-2013, 05:48 AM Last Post: Tom Grydeland HP Prime emulator: Gamma function Stephan Matthys 28 7,964 08-21-2013, 04:52 PM Last Post: Namir What is the Gamma approximation you use? Namir 21 5,305 08-05-2013, 07:14 AM Last Post: Namir SandMath routine of the week: Inverse Gamma Function Ángel Martin 39 9,500 03-24-2013, 08:19 AM Last Post: peacecalc OT: Beta testers for the dark side of the universe Joerg Woerner 7 2,163 01-28-2013, 12:20 PM Last Post: Geoff Quickfall CAS beta testers wanted Oliver Unter Ecker 5 2,123 07-30-2012, 07:11 AM Last Post: Oliver Unter Ecker Beta 41CL --> Best CL UTILs to burn in NoVRAM 64? Gene Wright 5 2,147 07-01-2012, 03:06 PM Last Post: Matt Kernal OT: Pockemul 0.9.4 Beta is out Bill (Smithville, NJ) 3 1,317 03-31-2012, 09:35 PM Last Post: Namir Seeking Beta Testers... Tim Wessman 0 785 03-15-2012, 12:55 PM Last Post: Tim Wessman

Forum Jump: