help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Large factorials?

 From: M. Schmidt Subject: Re: Large factorials? Date: Thu, 28 Aug 1997 16:16:20 +0200 (MET DST)

```> From address@hidden Thu Aug 28 12:30:05 1997
> From: address@hidden (Ted Harding)
> Subject: Re: Large factorials?
>
[...]
> >
> > Is there an easy way in octave
> >    either provided by built-in capabilities,
> >    or via programming,
> >    or via setup,
> >    or via selection of parameters
> > to get large factorials not as floating point numbers
> > but as representation of very long integers.
> >
> > E.g. 50! (or in octave: prod(1:50)) does need more than 60 digits.
> > How can this be handled to output not in floating point numbers
> > but as 60+ digit integer??
> >
[...]
>
> Since 50! > 10^60, the number cannot be represented exactly in 32-bit
> floating point. Therefore you are basically stuck.
>
> In /theory/ it is possible to program "symbolic" arithmetic in octave,
> i.e. (for istance) 123 * 57 could be worked out by breaking it down
> into ["1","2","3","*","5","7"] and feeding this to an octave program which
> would manipulate it and return ["7","0","1","1"], but I wouldn't like to
> do this unless I really had to. However, this would allow you to do
> arbitrary-precision arithmetic within octave.
>
> On my UNIX (actually Linux) system I have the "arbitrary precision
> calculator" called "bc" which is something of a UNIX classic. This is
> ideal for that type of calculation; here is a short "bc" session for 50!
[...snipped...]

Thanks for your fast feedback. Good support on this mailing list :-)

Originally I tried to use output_max_field_width in octave,
but even setting this to e.g. output_max_field_widht=1000
and then doing a prod(1:50) in octave gives a different result than
calculating 50! in bc.  How that??

The purpose of the whole thing has been that just for fun I have tried
to check the machine power and to calculate many digits of PI using
Chudnovsky's formula (fine formula, converges linearly, but very fast).

Now I have written it in bc and it's working just fine.
Well, I did know of bc, but originally I have thought octave would be faster,
isn't it?

BTW besides the subject:
Your mail header states that you are using elm pl23. Please be informed that
a long time ago there has been a CERT alert that all elm patchlevels<=24
are vulnerable having a security hole. Take care of this...

Have a nice day
Michael

--
Michael Schmidt                    address@hidden
SAMBA Admin
Server fuer / Server for  MS + Win95 + WinNT + LANManager
Fachhochschule Koblenz

```

reply via email to

 [Prev in Thread] Current Thread [Next in Thread]