Root again

• To: mathgroup at smc.vnet.net
• Subject: [mg109006] Root again
• From: Peter Pein <petsie at dordos.net>
• Date: Sat, 10 Apr 2010 06:52:38 -0400 (EDT)

```Dear group,

while experimenting further with
Root[1 + t*#1 + #1^6 &, k], k=1..6, k element N

I met the following issue:

1.) I want to know for which values of t>0 the Roots are real-valued:
In[4]:= (NMinimize[{t, Im[#1] == 0 && Im[t] == 0}, t] & ) /@
Table[Root[1 + t*#1 + #1^6 & , k], {k, 6}]

During evaluation of In[4]:= NMinimize::cvdiv: Failed to converge to a
solution. The function may be unbounded. >>
During evaluation of In[4]:= NMinimize::cvdiv: Failed to converge to a
solution. The function may be unbounded. >>
During evaluation of In[4]:= NMinimize::nosat: Obtained solution does
not satisfy the following constraints within Tolerance -> 0.001`:
{-Im[Root[1+t Slot[<<1>>]+Slot[<<1>>]^6&,3]]==0}. >>
During evaluation of In[4]:= NMinimize::nosat: Obtained solution does
not satisfy the following constraints within Tolerance -> 0.001`:
{-Im[Root[1+t Slot[<<1>>]+Slot[<<1>>]^6&,4]]==0}. >>
Out[4]=
{{-1.20475*10^105,{t->-1.20475*10^105}},{-1.20475*10^105,{t->-1.20475*10^105}},{-1.56919,{t->-1.56919}},{-1.56919,{t->-1.56919}},{-1.56919,{t->-1.56919}},{-1.56919,{t->-1.56919}}}

Well, as I understand -1.2..*10^105 it wants to be interpreted as -
Infinity. The tolerance-warnings are OK for me as the imaginary part of
some of the roots "pops up immediatelly" instead of "growing smooth".

So far so good. But if I want to know if there are upper bounds for t>=0
so that the roots are real:

In[7]:= (NMaximize[{t, Im[#1] == 0 && t >= 0}, t] & ) /@ Table[Root[1 +
t*#1 + #1^6 & , k],
{k, 6}]
During evaluation of In[7]:= NMaximize::cvdiv: Failed to converge to a
solution. The function may be unbounded. >>
During evaluation of In[7]:= NMaximize::cvdiv: Failed to converge to a
solution. The function may be unbounded. >>
During evaluation of In[7]:= NMaximize::nosat: Obtained solution does
not satisfy the following constraints within Tolerance -> 0.001`:
{-Im[Root[1+t Slot[<<1>>]+Slot[<<1>>]^6&,3]]==0}. >>
During evaluation of In[7]:= NMaximize::nosat: Obtained solution does
not satisfy the following constraints within Tolerance -> 0.001`:
{-Im[Root[1+t Slot[<<1>>]+Slot[<<1>>]^6&,4]]==0}. >>
During evaluation of In[7]:= Delete::partw: Part {1,1,2,1,2,1,1} of
{{Im[Root[1+Times[<<2>>]+Power[<<2>>]&,5]]==0,t>=0}} does not exist. >>
During evaluation of In[7]:= Delete::partw: Part {1,1,2,1,2,1,1} of
{{True,Converged}} does not exist. >>
During evaluation of In[7]:= Delete::partw: Part {1,1,2,1,2,1,1} of
{{Im[Root[1+Times[<<2>>]+Power[<<2>>]&,6]]==0,t>=0}} does not exist. >>
During evaluation of In[7]:= General::stop: Further output of
Delete::partw will be suppressed during this calculation. >>
Out[7]=
{{5.90194*10^104,{t->5.90194*10^104}},{5.90194*10^104,{t->5.90194*10^104}},{1.37262*10^-7,{t->1.37262*10^-7}},{1.37262*10^-7,{t->1.37262*10^-7}},{-Experimental`NumericalFunction[{Hold[-1.*10^-9],Block},{{Hold[1.*10^-9]}},{{1,817,{{Automatic,Automatic,None,1,Automatic},{Automatic,Automatic,None,1,Automatic}}}},{0,3},{428,MachinePrecision,{{Automatic},Automatic},True,Experimental`NumericalFunction,Automatic,None},{None,None,None}],{t->1.*10^-9}},{-Experimental`NumericalFunction[{Hold[-1.*10^-9],Block},{{Hold[1.*10^-9]}},{{1,817,{{Automatic,Automatic,None,1,Automatic},{Automatic,Automatic,None,1,Automatic}}}},{0,3},{428,MachinePrecision,{{Automatic},Automatic},True,Experimental`NumericalFunction,Automatic,None},{None,None,None}],{t->1.*10^-9}}}

beside the expected Warnings there are some messages which I do not
understand:
Part[{...}] does not exist.
Looking at the expressions where Part[{1,1,2,1,2,1,1}] shall be taken
from explains why this does not work, but what makes Mathematica look
for this part?
And what does Mathematica want to tell me with
"-Experimental`NumericalFunction[...]"?
What meaning do the parameters of this function have (especially what is
the 428??)?

If this is a bug in NMaximize in combination with Root[]-objects, it is
not very interesting for me, but if this output happens intentionally,
I'd like to get an explanation.