Error from Big Combinations



Thomas La Bone wrote:
> I get this answer from 1000 choose 100:
>
>    float(combination(1000,100));
>
>    6.3850511926305126*10^+139
>
> but I get an error from 8000 choose 800:
>
>    float(combination(8000,800));
>
>    Maxima encountered a Lisp error:
>     Error in SETQ [or a callee]: Can't print a non-number.
>    Automatically continuing.
>    To reenable the Lisp debugger set *debugger-hook* to nil.
>
> Mathematica gives me an answer of something like 2.819E+1040. Is the 
> error the result of Maxima not being able to represent such a large 
> floating point number?
>
> Tom
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>   
try bfloat
(%i6) bfloat(binomial(8000,800));
(%o6)                        4.22795262979594b1127

I don't know where you got that other number from Mathematica.

Indeed, the result cannot be represented within the range of 
double-precision hardware floats.  Mathematica uses a software float.
For Maxima, use bigfloats  (bfloat) if you need extended range or precision.