On 9/11/10, Mahdiyar Noorbala <noorbala at stanford.edu> wrote:
> (%i1) log(1b-308),numer;
> log: log(0) has been generated.
> -- an error. To debug this try: debugmode(true);
numer changes bigfloats to ordinary floats.
1b-308 is less than the smallest ordinary float,
so it's converted to zero.
If you want a bigfloat result, omit numer from the example above.
> (%i2) find_root(log(x)=-300,x,1b-308,1);
> (%o2) find_root(log(x)=-300,x,0.0,1.0)
> (%i3) find_root(x^2=1b100,x,0,1b105);
> Maxima encountered a Lisp error:
>
> *: floating point overflow
find_root only works with ordinary floats, not bigfloats.
find_root tries to convert any other kind of number to ordinary floats.
Most of the numerical functions for Maxima work only with ordinary
floats. There are bigfloat versions of some of them. ?? bf
at the input prompt finds them (and some other stuff).
> (%i4) sqrt(1b-1000000);
> (%o4) 1.0b-500000
I don't understand what is there error here.
best,
Robert Dodier