Calculate large factorials on a HP48 (SysRPL)

02232014, 04:33 PM
(This post was last modified: 02232014 05:11 PM by Dieter.)
Post: #7




RE: Calculate large factorials on a HP48 (SysRPL)
(02182014 10:32 PM)Christoph Giesselink Wrote: A solution for this is using the internal data type "long real". This SysRPL program using the same algorithm like before. Because the logarithm to the base 10 don't exist for long real I use the natural logarithm function %%LN. So essentially you're calculating ln n! first and then n! is obtained from this. There is an easier and much faster method for this: simply use a Stirling approximation. With only two terms, the largest error in log_{10} n! is less than 1 unit in the 12th significant digit if n ≥ 70. Since n! can be calculated directly for n ≤ 253, we only have to consider n ≥ 254. If evaluated exactly (!), the absolute error of log_{10} n! is less than 3,3 E16, i.e. better than the available working precicion. So two terms are all we need: \(ln n! = n · ln n + \frac{1}{2}ln(2 n \pi)  n + \frac{1}{12 n}  \frac{1}{360 n^3} + ...\) The resulting accuracy is essentially limited by that of the internal 15digit functions and the order of addition: add the smallest terms first. Dieter 

« Next Oldest  Next Newest »

Messages In This Thread 
Calculate large factorials on a HP48 (SysRPL)  Christoph Giesselink  02182014, 10:32 PM
RE: Calculate large factorials on a HP48 (SysRPL)  Werner  02192014, 10:45 AM
RE: Calculate large factorials on a HP48 (SysRPL)  Christoph Giesselink  02192014, 04:44 PM
RE: Calculate large factorials on a HP48 (SysRPL)  walter b  02192014, 11:45 AM
RE: Calculate large factorials on a HP48 (SysRPL)  Gerson W. Barbosa  02192014, 01:21 PM
RE: Calculate large factorials on a HP48 (SysRPL)  Dieter  02202014, 06:22 PM
RE: Calculate large factorials on a HP48 (SysRPL)  Dieter  02232014 04:33 PM

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