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 >>> >> >