From: Peter Pein on
Dear group,

please have a look at the following!

In[1]:= $Version
Out[1]= 7.0 for Linux x86 (64-bit) (February 18, 2009)
In[2]:= f[t_] = Root[1 + t*#1 + #1^6 & , 2];
In[3]:= Plot[f[Exp[t]], {t, Log[6/5^(5/6)], 10},
FrameTicks -> {Transpose[{Range[10], Exp[Range[10]]}], None, None,
-(Range[0, 15]/20.)}, Axes -> None, Frame -> True, PlotRange -> All]

this shows that f tends to 0 as x goes to infinity and I can't imagine
why "something strange" should happen for x>E^10.

In[4]:= Limit[f[x], x -> Infinity]
Out[4]= -Infinity

oops...

In[5]:= Limit[f[Exp[x]], x -> Infinity]
Out[5]= Limit[Root[1 + E^x*#1 + #1^6 & , 2], x -> Infinity]

....well, I could not guess this result ;-)
Option "Assumptions->Element[x,Reals] leads to no change.

In[6]:= << "NumericalCalculus`"
Chop[NLimit[f[x], x -> Infinity, Terms -> 11]]
Out[7]= 0

as expected. And:

In[8]:= NLimit[f[Exp[x]], x -> Infinity]
Out[8]= 0.

similarly.

Finally, N[f[10^1234]] gives -1*10^(-1234) which can be called a
"negative zero with a huge value (for a zero)".

So the question arises:

WTH happens inside "Limit" when handling Root-objects?


Thanks,
Peter