Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Root again

  • To: mathgroup at smc.vnet.net
  • Subject: [mg109098] Re: Root again
  • From: Scott Hemphill <hemphill at hemphills.net>
  • Date: Mon, 12 Apr 2010 23:01:33 -0400 (EDT)
  • References: <hps1an$6fv$1@smc.vnet.net>
  • Reply-to: hemphill at alumni.caltech.edu

Bill Rowe <readnews at sbcglobal.net> writes:

> On 4/10/10 at 6:52 AM, petsie at dordos.net (Peter Pein) wrote:
>
>>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}]
>
> <error messages snipped>
>
> I really don't understand why you would attempt to determine the
> answer using NMinimize. It seems to me the first step is a
> simple plot of the roots as a function of t. That is
>
> In[18]:= r = Table[Root[1 + t*#1 + #1^6 &, k], {k, 6}];
>
> In[19]:= Plot[r, {t, 0, 10}]
>
> The resulting plot indicates half the roots are increasing with
> increasing t and the other half are decreasing with increasing
> t. This alone means there will be problems with using NMinimize
> to get the answer.

I don't understand why this is the case.

> Looking at the first root object I will use Maximize since the
> plot indicates this root is decreasing with increasing t
>
> In[20]:= sol = Maximize[{r[[1]], t > 0}, t]
>
> Out[20]= {-Root[5 #1^6-1&,2],{t->Root[3125 #1^6-46656&,2]}}
>
> In[21]:= sol[[1]] // N
>
> Out[21]= -0.764724
>
> In[22]:= N[t /. sol[[2]]]
>
> Out[22]= 1.56919
>
> So, it would seem the roots are all real for any t greater than 1.56919

Working with Root objects in this way is problematic, since the k'th
root is not guaranteed to be continuous with small changes in t.

Anyway, the roots aren't all real for any choice of t.

If y = x^6 + t*x + 1, then D[y,x] == 6x^5 + t and D[y,x,x] == 30x^4.
Since D[y,x,x] is non-negative, D[y,x] will be monotonically increasing.
Since D[y,x] always has exactly one real zero, y will have exactly one
minimum.  It can therefore have zero, one, or two real roots.


  In[1]:= y=x^6+t*x+1

                     6
  Out[1]= 1 + t x + x


We can find the minimum by solving for the location where the derivative
is zero.


  In[2]:= Reduce[D[y,x]==0,x,Reals]

  Out[2]= x == Root[t + 6 #1  & , 1]


We can find the critical values for t for which the minimum occurs at y==0.


  In[3]:= Reduce[(y/.Rule@@%)==0,t]

                -6           6
  Out[3]= t == ---- || t == ----
                5/6          5/6
               5            5

  In[4]:= N[%]

  Out[4]= t == -1.56919 || t == 1.56919

So at these two values of t, y will have just one real root.  In between
them there will be no real roots (e.g. t==0 => y==x^6+1 has no real
roots) and outside these two values of t there will be two real roots.

Scott
-- 
Scott Hemphill	hemphill at alumni.caltech.edu
"This isn't flying.  This is falling, with style."  -- Buzz Lightyear


  • Prev by Date: Re: for loop outside a do cicle
  • Next by Date: Re: beginner question about syntax
  • Previous by thread: Re: Root again
  • Next by thread: Re: Root again