Is the 50G really that powerful?  Hewlett Packard
This is a discussion on Is the 50G really that powerful?  Hewlett Packard ; Le ven 20 avr 2007 à 09:25 +1000, JeanYves Avenard a écrit :
> I'd love to see a TI machine calculating 500! as fast as the HP50
> (provided they could of course)
And even as fast as the ...

Re: Is the 50G really that powerful?
Le ven 20 avr 2007 à 09:25 +1000, JeanYves Avenard a écrit :
> I'd love to see a TI machine calculating 500! as fast as the HP50
> (provided they could of course)
And even as fast as the HP49. I read, some time ago, that the TI89 took
more time than the old HP49 to calculate *and display* 500!, because it
had to convert the internal hexadecimal representation to the displayed
decimal one.

Re: Is the 50G really that powerful?
"KhanhDang" wrote in message
news:20070420095844.270687fd@aiguebelle.pamplemous se.homeunix.org...
> Le ven 20 avr 2007 à 09:25 +1000, JeanYves Avenard a écrit :
>> I'd love to see a TI machine calculating 500! as fast as the HP50
>> (provided they could of course)
>
> And even as fast as the HP49. I read, some time ago, that the TI89 took
> more time than the old HP49 to calculate *and display* 500!, because it
> had to convert the internal hexadecimal representation to the displayed
> decimal one.
The TI89 will neither compute nor display 500! so the time issue is moot.
449! takes about 2 secs on a HW3 TI89 Titanium, less on a HW4 model.
Tom Lake

Re: Is the 50G really that powerful?
Tom Lake wrote:
>
> "KhanhDang" wrote in message
> news:20070420095844.270687fd@aiguebelle.pamplemous se.homeunix.org...
>> Le ven 20 avr 2007 à 09:25 +1000, JeanYves Avenard a écrit :
>>> I'd love to see a TI machine calculating 500! as fast as the HP50
>>> (provided they could of course)
>>
>> And even as fast as the HP49. I read, some time ago, that the TI89 took
>> more time than the old HP49 to calculate *and display* 500!, because it
>> had to convert the internal hexadecimal representation to the displayed
>> decimal one.
>
> The TI89 will neither compute nor display 500! so the time issue is moot.
> 449! takes about 2 secs on a HW3 TI89 Titanium, less on a HW4 model.
>
> Tom Lake
My number is bigger than yours lol
Mick C

Re: Is the 50G really that powerful?
"Michael" wrote in message
news:hz1Wh.16934$M.8256@newsserver.bigpond.net.au...
> Tom Lake wrote:
>>
>> "KhanhDang" wrote in message
>> news:20070420095844.270687fd@aiguebelle.pamplemous se.homeunix.org...
>>> Le ven 20 avr 2007 à 09:25 +1000, JeanYves Avenard a écrit :
>>>> I'd love to see a TI machine calculating 500! as fast as the HP50
>>>> (provided they could of course)
>>>
>>> And even as fast as the HP49. I read, some time ago, that the TI89 took
>>> more time than the old HP49 to calculate *and display* 500!, because it
>>> had to convert the internal hexadecimal representation to the displayed
>>> decimal one.
>>
>> The TI89 will neither compute nor display 500! so the time issue is
>> moot.
>> 449! takes about 2 secs on a HW3 TI89 Titanium, less on a HW4 model.
>>
>> Tom Lake
> My number is bigger than yours lol
> Mick C
Back in the late '70's I had just bought a TI58. In Jr. High I had also
just learned about logarithms in math class.
So I set out to use the TI58 to calculate the factorial of one million by
adding LOG10 values. In the end I had the integer part (the exponent) and
the fractional part.
Took, if I recall, a little over a day to calculate the answer. I've long
since forgotten the answer though, nor do I know how accurate it would have
been. But it was entertaining for a nerd at the time.
Anyone happen to know what the answer is?
If I were to repeat the exercise, now some 30 years later, with my HP48G+,
what's the best way to do it? How about with the HP50?
 Dan

Re: Is the 50G really that powerful?
"Revolvr" writes:
> Back in the late '70's I had just bought a TI58. In Jr. High I had also
> just learned about logarithms in math class.
>
> So I set out to use the TI58 to calculate the factorial of one million by
> adding LOG10 values. In the end I had the integer part (the exponent) and
> the fractional part.
>
> Took, if I recall, a little over a day to calculate the answer. I've long
> since forgotten the answer though, nor do I know how accurate it would have
> been. But it was entertaining for a nerd at the time.
>
> Anyone happen to know what the answer is?
5565708.917186719 (to 16 significant figuresmore available on request)
> If I were to repeat the exercise, now some 30 years later, with my HP48G+,
> what's the best way to do it? How about with the HP50?
If all you want is to calculate the log of the factorial, then add the
logs of the terms in Stirlings's series. Its pretty good for numbers
this large (see formulas (5) and (6) on this page
http://mathworld.wolfram.com/StirlingsSeries.html
If you want to go through the exercise of adding bunches of logs together,
then set up some sort of loop. Here's one idea:
\<<
0 1 1000000 FOR i i LOG + NEXT
\>>
Scott

Scott Hemphill hemphill@alumni.caltech.edu
"This isn't flying. This is falling, with style."  Buzz Lightyear

Re: Is the 50G really that powerful?
On Fri, 20 Apr 2007 12:34:59 0500:
> I set out to use the TI58 to calculate the factorial of one million by
> adding LOG10 values. In the end I had the integer part (the exponent) and
> the fractional part.
>
> Took, if I recall, a little over a day to calculate the answer. I've long
> since forgotten the answer though, nor do I know how accurate it would have
> been. But it was entertaining for a nerd at the time.
>
> Anyone happen to know what the answer is?
>
> If I were to repeat the exercise, now some 30 years later, with my HP48G+,
> what's the best way to do it? How about with the HP50?
Probably the same for 48G+ as for 50G,
since these do the same things for "real" computations.
Emu48 on a fast PC might make the time less
The following might be easier, however:
http://mathworld.wolfram.com/Stirlin...oximation.html
http://en.wikipedia.org/wiki/Stirling's_approximation
Note Gosper's interesting formula near the end of the Wolfram article
(which also works well with small arguments), and further formulas
for calculators in the second reference, which also mentions:
http://www.rskey.org/gamma.htm (someone just like you
[r>] [OFF]

Re: Is the 50G really that powerful?
> So I set out to use the TI58 to calculate the factorial of one million by
> adding LOG10 values. In the end I had the integer part (the exponent) and
> the fractional part.
>
> Took, if I recall, a little over a day to calculate the answer. I've long
> since forgotten the answer though, nor do I know how accurate it would
> have been. But it was entertaining for a nerd at the time.
>
> Anyone happen to know what the answer is?
Here's a solution I originally wrote in GWBASIC then converted to QBasic
DEFDBL AZ
INPUT "Enter a number: ", n&
logsum = 0: exponent = 0
logten = LOG(10)
FOR i& = 1 TO n&
logsum = logsum + LOG(i&) / logten
exponent = exponent + INT(logsum)
logsum = logsum  INT(logsum)
NEXT
PRINT n&; "! ="; 10 ^ logsum; "E+"; exponent
1000000 ! = 8.263931678359127 E+ 5565708
Tom Lake

Re: Is the 50G really that powerful?
"Tom Lake" writes:
> > So I set out to use the TI58 to calculate the factorial of one
> > million by adding LOG10 values. In the end I had the integer part
> > (the exponent) and the fractional part.
> >
> > Took, if I recall, a little over a day to calculate the answer. I've
> > long since forgotten the answer though, nor do I know how accurate
> > it would have been. But it was entertaining for a nerd at the time.
> >
> > Anyone happen to know what the answer is?
>
> Here's a solution I originally wrote in GWBASIC then converted to QBasic
>
> DEFDBL AZ
> INPUT "Enter a number: ", n&
> logsum = 0: exponent = 0
> logten = LOG(10)
> FOR i& = 1 TO n&
> logsum = logsum + LOG(i&) / logten
> exponent = exponent + INT(logsum)
> logsum = logsum  INT(logsum)
> NEXT
> PRINT n&; "! ="; 10 ^ logsum; "E+"; exponent
>
> 1000000 ! = 8.263931678359127 E+ 5565708
The following value is accurate, so we can see how much accumulated
round off error there was:
1000000 ! = 8.263931688331240 E+ 5565708
Scott

Scott Hemphill hemphill@alumni.caltech.edu
"This isn't flying. This is falling, with style."  Buzz Lightyear

Re: Is the 50G really that powerful?
On Apr 20, 11:28 am, Scott Hemphill wrote:
> "Revolvr" writes:
> > Back in the late '70's I had just bought a TI58. In Jr. High I had also
> > just learned about logarithms in math class.
>
> > So I set out to use the TI58 to calculate the factorial of one million by
> > adding LOG10 values. In the end I had the integer part (the exponent) and
> > the fractional part.
>
> > Took, if I recall, a little over a day to calculate the answer. I've long
> > since forgotten the answer though, nor do I know how accurate it would have
> > been. But it was entertaining for a nerd at the time.
>
> > Anyone happen to know what the answer is?
>
> 5565708.917186719 (to 16 significant figuresmore available on request)
>
> > If I were to repeat the exercise, now some 30 years later, with my HP48G+,
> > what's the best way to do it? How about with the HP50?
>
> If all you want is to calculate the log of the factorial, then add the
> logs of the terms in Stirlings's series. Its pretty good for numbers
> this large (see formulas (5) and (6) on this page
>
> http://mathworld.wolfram.com/StirlingsSeries.html
>
> If you want to go through the exercise of adding bunches of logs together,
> then set up some sort of loop. Here's one idea:
>
> \<<
> 0 1 1000000 FOR i i LOG + NEXT
> \>>
>
> Scott
> 
> Scott Hemphill hemph...@alumni.caltech.edu
> "This isn't flying. This is falling, with style."  Buzz Lightyear
That's what my easycalc program gets also.
Try log10((1000000 + 1000i)!)
I get 5565707.700003962 + 6000.000289529i.

Re: Is the 50G really that powerful?
On 21 Apr 2007 18:27:19 0700, mjc wrote:
>On Apr 20, 11:28 am, Scott Hemphill wrote:
>> "Revolvr" writes:
>> > Back in the late '70's I had just bought a TI58. In Jr. High I had also
>> > just learned about logarithms in math class.
>>
>> > So I set out to use the TI58 to calculate the factorial of one million by
>> > adding LOG10 values. In the end I had the integer part (the exponent) and
>> > the fractional part.
>>
>> > Took, if I recall, a little over a day to calculate the answer. I've long
>> > since forgotten the answer though, nor do I know how accurate it would have
>> > been. But it was entertaining for a nerd at the time.
>>
>> > Anyone happen to know what the answer is?
>>
>> 5565708.917186719 (to 16 significant figuresmore available on request)
>>
>> > If I were to repeat the exercise, now some 30 years later, with my HP48G+,
>> > what's the best way to do it? How about with the HP50?
>>
>> If all you want is to calculate the log of the factorial, then add the
>> logs of the terms in Stirlings's series. Its pretty good for numbers
>> this large (see formulas (5) and (6) on this page
>>
>> http://mathworld.wolfram.com/StirlingsSeries.html
>>
>> If you want to go through the exercise of adding bunches of logs together,
>> then set up some sort of loop. Here's one idea:
>>
>> \<<
>> 0 1 1000000 FOR i i LOG + NEXT
>> \>>
>>
>> Scott
>> 
>> Scott Hemphill hemph...@alumni.caltech.edu
>> "This isn't flying. This is falling, with style."  Buzz Lightyear
>
>
>That's what my easycalc program gets also.
>
>Try log10((1000000 + 1000i)!)
>
>I get 5565707.700003962 + 6000.000289529i.
I get 5565708.700039622  0.526914666893932i
there's a typo, something's off by a factor of 10, and the imaginary part could
stand a little range reduction.

Re: Is the 50G really that powerful?
On 18 Apr 2007 15:17:14 0700, mjc wrote:
>This is one reason that I have been saying for years that HP
>calculators need a "log of gamma" function  so values and ratios of
>values of the gamma function (and, of course, factorials) could be
>calculated for large values (such as 10^10, not just a measly 500 or
>1000).
>
>I recently implemented (for the Palm platform program "easycalc") the
>Lanczos algorithm (found on the web) for the log of the gamma
>function. The neat thing is that it is accurate (to 10^13 for the
>version I used) throughout the complex plane with real(z)>=0. Use the
>reflection formula to get the result for real(z) < 0. (The formula is
>gamma(z)*gamma(1z) = pi/sin(pi*z).)
>
>For example, log(1000!) > 2567.604644222132,
>i! = 0.498015668118356  0.15494983801811i,
Should be  0.154949828301811i
>log(10^10!) = 9.565705518636653E10
It seems to me that log base 10 of 10 raised to some exponent is just that
exponent, so that log(10^10!) = 10! = 3628800
>(mod transcription errors).
What does this mean?
>
>Here is the python code I found, followed by my easycalc code.
>
>Compute ln(gamma(z)), from answers.com
>
>The following implementation in the Python programming language works
>for complex arguments and typically gives 15 correct decimal places:
>
>from cmath import *
>
># Coefficients used by the GNU Scientific Library
>g = 7
>p = [0.99999999999980993, 676.5203681218851, 1259.1392167224028,
> 771.32342877765313, 176.61502916214059, 12.507343278686905,
> 0.13857109526572012, 9.9843695780195716e6,
>1.5056327351493116e7]
>
>def gamma(z):
> z = complex(z)
> # Reflection formula
> if z.real < 0.5:
> return pi / (sin(pi*z)*gamma(1z))
> else:
> z = 1
> x = p[0]
> for i in range(1, g+2):
> x += p[i]/(z+i)
> t = z + g + 0.5
> return sqrt(2*pi) * t**(z+0.5) * exp(t) * x
>
>lc0=0.99999999999980993
>lc=list(676.5203681218851:1259.1392167224028:
>771.32342877765313:176.61502916214059:
>12.507343278686905:0.13857109526572012:
>.0000099843695780195716:,00000015056327351493116)
>lcf0()="1/(x+range(dim(lc):0)"
>lcf1()="lc*lcf0(x)"
>lcf2()="lc0+sum(lcf1(x))"
>lcf3()="x+dim(lc)1.5"
>lcf4()="(x.5)*ln(lcf3(x))lcf3(x)"
>lcf5()="lcf4(x)+ln(lcf2(x))+.5*ln(2*pi)"
>
>Note: Easycalc works with vectors and matrices, so "range(n,x)" is a
>vector of length n consisting of (x,x+1,...,x+n1).
>Adding and other operations of a vector operate elementbyelement.
>
>Now put this in a ROM!!!!!!
>
>Martin Cohen

Re: Is the 50G really that powerful?
If TI is serious about adding Derive features to the NSpire CAS than
probably that it will be the first TI machine able to compute 500! and
this faster than the HP50G.
On 19 avr, 23:25, JeanYves Avenard wrote:
> Vincent wrote:
> > as capable of a machine as I thought. I dont really see this calculator
> > as really much more powerful than a scientific calculator, everytime I
> > give it a hard to do equation it shows the hour glass and gives up,
> > whereas a TI calculator would keep calculating and even if it took a
>
> I'd love to see a TI machine calculating 500! as fast as the HP50
> (provided they could of course)
>
> JY

Re: Is the 50G really that powerful?
Rodger Rosenbaum writes:
> On 21 Apr 2007 18:27:19 0700, mjc wrote:
[snip]
> >Try log10((1000000 + 1000i)!)
> >
> >I get 5565707.700003962 + 6000.000289529i.
> I get 5565708.700039622  0.526914666893932i
>
> there's a typo, something's off by a factor of 10, and the imaginary part could
> stand a little range reduction.
My results agree with the latter ones.
Scott

Scott Hemphill hemphill@alumni.caltech.edu
"This isn't flying. This is falling, with style."  Buzz Lightyear

Displaying with linewrap
[about displaying objects which otherwise appear
as single long lines, such as very large integer objects]
On Wed, 18 Apr 2007 16:25:46 0500,
Bill Markwick supplied a UserRPL program
to insert linefeeds after every 33 characters of a string.
On Wed, 18 Apr 2007 16:59:03 0500, Tim Wessman then
supplied a neat program which uses an internal system function
^StrCutNChr2 (not defined in the standard "Extable"),
which also "wraps" any long *words* in any string.
Thanks to Tim's revelation about this function,
a Google search also finds from JYA in 6/2002
(all from one very long thread):
"HP49: miniwriter?"
http://groups.google.com/group/comp....d1d2c09080e836
http://groups.google.com/group/comp....1a6825dbb603e9
http://groups.google.com/group/comp....65120f867a313d
Below are additional programs based on this function,
which can in general act like TOOL VIEW,
except that they also break up long words;
these can be used to view any objects,
of course including long integers.
Please be sure to do HOME 256 ATTACH
before entering or transferring these programs.
This is a downloadable Ascii file,
including comments preceded by "@"
%%HP: T(3); @ Ascii transfer header
@ For HP50G/49G[+]/48Gii only
@ Alternate for TOOL VIEW
@ (which is normally like DUP SCROLL)
@ but wrapping any long lines or words
\<< QUOTE RCLF SWAP 73 SF DUPDUP
TYPE 2 \=/ { #25ECEh SYSEVAL } IFT
33 R~SB 7 ALOG R~SB #9B003h FLASHEVAL
DROP SCROLL SWAP STOF \>> 'VIEW' STO
@ Similar to above, but uses text editor as viewer,
@ thus using current "system" (larger) font:
\<< QUOTE RCLF SWAP 73 CF DUPDUP
TYPE 2 \=/ { #25ECEh SYSEVAL } IFT
22 R~SB 7 ALOG R~SB #9B003h FLASHEVAL
DROP 35 KEYEVAL DROP SWAP STOF \>> 'VTXT' STO
@ End of downloadable file
CAUTION: Backup memory before using
potentially risky "sys/flash" internal functions!
Note that the above programs display all objects
as they would appear in a text editor,
whereas the builtin TOOL VIEW (DUP SCROLL)
initially displays the following types graphically
(but can then be switched to text mode):
List, Array, Symbolic, Unit, Grob, Font, Tagged
Although the VTXT program found above
uses the actual builtin "text editor" as a viewer
(invoking STARTED/EXITED as usual if defined),
the result is always discarded,
hence you can not alter the original object
with either of these viewers.
If you don't like to have to hold down or repeatedly press
a scrolling key so many times, there's still this klunky
"page by page viewer" (including HP48[S/G] version):
http://groups.google.com/group/comp....2b8e76b2cbf70e
But ED/VV/TED (all from Jazz) are nicer for HP48,
as I presume is String/MiniWriter and stuff from the original MK
(if you have enough memory).
[r>] [OFF]