Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: Limit and Root Objects

  • To: mathgroup at smc.vnet.net
  • Subject: [mg72322] Re: Limit and Root Objects
  • From: Adam Strzebonski <adams at wolfram.com>
  • Date: Tue, 26 Dec 2006 05:46:34 -0500 (EST)
  • References: <em606c$2o1$1@smc.vnet.net> <4586C045.2020805@metrohm.ch> <DA28578F-4E16-49A8-A447-3FDE236F303F@akikoz.net> <C322A62D-E35E-4395-A264-AFCA59DE9608@mimuw.edu.pl>
  • Reply-to: adams at wolfram.com

I think I have a somewhat simpler, or at least more elementary proof.
Suppose there exists a continuous map Root[_, 1] : C^d - S --> C.
Let us define a map F: [0, 1] --> C^d - S by putting
F(t) := (-E^(2 I Pi t), 0, ..., 0)
(F(t) corresponds to the polynomial x^d-E^(2 I Pi t)).
The the composition G of F followed by Root[_, 1] is a continuous map
from [0, 1] to the unit circle such that G(t)^d == E^(2 I Pi t).
For t in [0, 1], let H(t) be k iff G(t) == E^((2 I Pi t+2 I Pi k)/d).
H is a continuous mapping from [0, 1] to the discrete set
{0, 1, ..., k-1}, hence it is constant, say H(t)==k.
Then G(0)==E^((2 I Pi k)/d) and G(1)==E^((2 I Pi+2 I Pi k)/d),
but this is is impossible, because F(0)==F(1), and so G(0)==G(1).

Best Regards,

Adam Strzebonski
Wolfram Research

Andrzej Kozlowski wrote:
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
> I have thought that it might be of some interest to justify the remarks 
> below about using "elementary topology of configuration spaces" to prove 
> that one can't define continuously objects of the form Root[f,1], 
> Root[f,2] ... etc, where f is some polynomial. The proof is actually not 
> quite as "elementary" as I at first thought.
> What it needs is the concept of "the Schwarz genus". Given two normal 
> Hausdorff spaces X and Y and a continuous map, f:X ->Y , the Schwarz 
> genus of the map f is the minimal cardinality of an open cover of Y such 
> that there exists a continuous section of the map f over each set (a 
> section over a subset U of Y is a continuous map p:U->X such that 
> f(p(u))=u).
> Let's choose a degree of our polynomial d, say d=3 for cubics. The set 
> of all monic polynomials of degree d (monic means that the highest 
> coefficient is 1) is just C^d. Consider the space Y = C^d -S, where S is 
> the so caled discriminant, that is the space of all monic polynomials of 
> degree d with a multiple root. Let X be the space of al pairs (m,x) 
> where m is a monic polynomial of degree d and x is a root of f. Then we 
> have a map:
> f: X -> Y, taking (m,x) to the point x. This map is actually a d-fold 
> covering map.
> Now we can prove the following theorem: if d is a power of a prime than 
> the Schwarz genus of f is d. The proof requires quite a lot of topology 
> and obviously I am not going to include it here (it appears in a book by 
> V.A. Vassiliev). . But what it means is that in the case of cubics you 
> cannot define a continuous map Root[f,i], where i is 1,2, or 3, over the 
> space of cubics, since that would provide exactly eh kind of global 
> continuous section that can't exist. Unless I am confused about 
> something here, all attempts to construct a "continuous real root" for a 
> cubic over the parameter space are clearly doomed. Of course all this 
> proves that you can't have a continuous branch over the entire parameter 
> space, you can certainly have such continuous sections over various 
> parts of it.
> 
> This fact seems intuitively quite obvious but I can't see any other way 
> to prove it that does not require some fairly advanced topology 
> (obstruction theory). If anyone knows of any other way I would like to 
> hear of it.
> 
> Andrzej Kozlowski
> 
> 
> On 19 Dec 2006, at 09:06, Andrzej Kozlowski wrote:
> 
>> What you describe, including the fact that the numbering or roots 
>> changes is inevitable and none of it is not a bug. There cannot exist 
>> an ordering of complex roots that does not suffer from this problem. 
>> What happens is this.
>> Real root objects are ordered in the natural way. A cubic can have 
>> either three real roots or one real root and two conjugate complex 
>> ones. Let's assume we have the latter situation. Then the real root 
>> will be counted as being earlier then the complex ones. Now suppose 
>> you start changing the coefficients continuously. The roots will start 
>> "moving in the complex plane", with the real root remaining on the 
>> real line the two complex roots always remaining conjugate (symmetric 
>> with respect to the real axis). Eventually they may collide and form a 
>> double real root. If this double real root is now smaller then the the 
>> "original real root" (actually than the root to which the original 
>> real root moved due the the changing of the parameter), there will be 
>> a jump in the ordering; the former root number 1 becoming number 3.
>> This is completely unavoidable, not any kind of bug, and I am not 
>> complaining about it. It takes only elementary  topology of 
>> configuration spaces to prove that this must always be so.
>>
>> What I am not really convinced of is that Limit really couldn't deal 
>> with this problem, at least partially, in the case of real roots of  
>> cubics and quartics. I have been told that it cannot be done because 
>> Limit relies on Series - and that I of course completely agree that 
>> Series can't possibly deal with this.  Even worse  problems of this 
>> type will inevitably  happen in the case of non-real roots, which can 
>> switch order in intractable ways. But it seem to me that in the case 
>> of real roots one could use a simple numeric-symbolic method to get 
>> the right answer- which is indeed what I did by hand before posting 
>> this problem. The key point is, that problem can only occur at a 
>> double root, because two conjugate complex roots must first collide on 
>> the real line before a real root is formed. The double roots can be 
>> found by using the derivative and Resultant, as I did in this case:
>>
>>
>> Reduce[Resultant[poly[b,x], D[poly[b,x]], x] == 0, b, Reals]
>>
>> where b is a parameter. Now, if a Limit is taken at a point that is 
>> not a double root continuity can be assumed and we are home. If the 
>> Limit point is a double root, then (in the case of a cubic) we that 
>> the only possibilities for the limit will be the value of the first or 
>> the third real root at this point (where there will be three real 
>> roots). We can use NLimit with significance arithmetic to settle this. 
>> Significance arithmetic is important since the two branches can be 
>> arbitrarily close (we may have a near tripe root). Actually, we would 
>> have to first check algebraically that we do not have a triple root at 
>> this point - if we do, there is no problem though.
>>
>> I can see that doing all this would considerably increase the 
>> complexity of Limit whenever any kind of Root objects were present in 
>> an expression - which may be strong argument against it. On the other 
>> hand, I think these kind of situations are quite interesting and it 
>> would be a good idea to be able to get them right without having to 
>> resort to manual computations, as I did in this case.
>> Another argument for leaving things as they are, the same kind of 
>> phenomenon for complex roots (and perhaps polynomials of high 
>> degree)   seems quite un-manageable so in that sense the problem would 
>> still remain.  But I think real roots are interesting and important, 
>> and even if this could be done only for cubic and quartics, it would 
>> be worth while.
>> If all this is not practical, I think a warning message should always 
>> be issued by Limit whenever such Root objects are encountered  (I 
>> think Series already does that).
>>
>>
>> Andrzej Kozlowski
>>
>>
>>
>>
>> On 19 Dec 2006, at 01:22, dh wrote:
>>
>>> *This message was transferred with a trial version of CommuniGate(tm) 
>>> Pro*
>>> Hi Andrzej,
>>> It is definitly a bug. The reason for the bug may be that not only 
>>> the function is not continuous at b == -(3/2^(2/3)), but also the 
>>> numbering changes. There are three different real roots for 
>>> b<-(3/2^(2/3)), therefore, the first is the smallest. For 
>>> b=-(3/2^(2/3)) the two lowest roots merge and for b>-(3/2^(2/3)) the 
>>> two   "former" lowest become complex. And now the first root is the 
>>> "former" highest. MMA seems to keep the number of the root in the 
>>> limit process. To make the bug even worse, the wrong first root at 
>>> b=-(3/2^(2/3)) is a double root and therefore, reduced to a quadratic 
>>> root object.
>>> Daniel
>>>
>>>
>>> Andrzej Kozlowski wrote:
>>>> It is easy to check that the function
>>>> f[b_] := Root[#1^3 + b*#1 - 1 & , 1]
>>>> is discontinuous at b, where
>>>> Reduce[Resultant[x^3 + b*x - 1, D[x^3 + b*x - 1, x], x] == 0, b, Reals]
>>>> b == -(3/2^(2/3))
>>>> indeed this was not so long ago discussed in connection with  a  
>>>> little argument about "usefulness' of Root objects. In view of 
>>>> this,  isn't the following a bug?
>>>> u = Limit[f[b], b -> -(3/2^(2/3)), Direction -> 1]
>>>> Root[2*#1^3 + 1 & , 1]
>>>> v = Limit[Root[#1^3 + b*#1 - 1 & , 1], b -> -(3/2^(2/3)), Direction 
>>>> -  > -1]
>>>> Root[2*#1^3 + 1 & , 1]
>>>> u == v
>>>> True
>>>> It looks like Limit is making life too easy for itself by assuming  
>>>> continuity.
>>>> Using NLimit shows that things are not as simple:
>>>> w = NLimit[f[b], b -> -(3/2^(2/3)), Direction -> -1]
>>>> 1.5874010343874532
>>>> z = NLimit[Root[#1^3 + b*#1 - 1 & , 1], b -> -(3/2^(2/3)), Direction 
>>>> -  > 1]
>>>> -0.7937180869283765
>>>> Andrzej Kozlowski
>>>
>>
> 


  • Prev by Date: Re: ReplaceAll applied to List
  • Next by Date: Re: Please help overcome problems with integration
  • Previous by thread: Re: Limit and Root Objects
  • Next by thread: Re: Limit and Root Objects