RE: Re: Limit and Root Objects

*To*: mathgroup at smc.vnet.net*Subject*: [mg72639] RE: [mg72620] Re: Limit and Root Objects*From*: "David Park" <djmp at earthlink.net>*Date*: Sat, 13 Jan 2007 04:26:01 -0500 (EST)

Indeed, that would be very nice. In the Cardano3 complex function plotting package I have vector plots with multifunctions. For example, I represent z^(1/3) at a point as a spray of three vectors. If we make an animation as the point circuits the origin you can see that one must circle three times for each vector to return to its original position. It all looks very smooth. But in fact it only looks smooth because the group of three vectors discontinuously jumps to a indistinguishable pattern as we move across a branch point. I would like to color one of the vectors red, instead of black, so we could more clearly see that it takes three circuits. But that is very difficult. It seems to me that the only way to do this is to proceed in small steps and keep the previous set of solutions. Then we could identify the new set of points (or vectors in my case) by their closeness to the previous set. However, this runs into the problem of how one detects degenerate solutions and how one consistently handles them. Numerically one could only say that points came very close and were considered to be degenerate. In that case they might get mixed up. A routine to do this, at least approximately, does not seem to be out of the question. David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: Paul Abbott [mailto:paul at physics.uwa.edu.au] But is there a continuous root numbering if the roots are not ordered? What I mean is that if you compute the roots of a polynomial, which is a function of a parameter, then if you assign a number to each root, can you follow that root continuously as the parameter changes? Two examples are presented below. Here is some code to animate numbered roots using the standard root ordering, displaying the root numbering: rootplot[r_] := Table[ListPlot[ Transpose[{Re[x /. r[a]], Im[x /. r[a]]}], PlotStyle -> AbsolutePointSize[10], PlotRange -> {{-3, 3}, {-3, 3}}, AspectRatio -> Automatic, PlotLabel -> StringJoin["a=", ToString[PaddedForm[Chop[a], {2, 1}]]], Epilog -> {GrayLevel[1], MapIndexed[Text[#2[[1]], {Re[#1], Im[#1]}] & , x /. r[a]]}], {a, -6, 10, 0.5}] First, we have a polynomial with real coefficients: r1[a_] = Solve[x^5 - a x - 1 == 0, x] Animating the trajectories of the roots using rootplot[r1] we observe that, as you mention above, when the complex conjugate roots 2 and 3 coalesce, they become real roots 1 and 2 and root 1 becomes root 3. But, ignoring root ordering, why isn't it possible for these roots to maintain their identity (I realise that at coelescence, there is an arbitrariness)? Second, we have a polynomial with a complex coefficient: r2[a_] = Solve[x^5 + (1+I) x^4 - a x - 1 == 0, x] Animating the trajectories of the roots using rootplot[r2] we observe that, even though the trajectories of the roots are continuous, the numbering switches: 2 -> 3 -> 4 5 -> 4 -> 3 3 -> 4 -> 5 4 -> 3 -> 2 and only root 1 remains invariant. Again, ignoring root ordering, why isn't it possible for all these roots to maintain their identity and so be continuous functions of the parameter? And wouldn't such continuity be nicer than enforcing root ordering? Cheers, Paul _______________________________________________________________________ Paul Abbott Phone: 61 8 6488 2734 School of Physics, M013 Fax: +61 8 6488 1014 The University of Western Australia (CRICOS Provider No 00126G) AUSTRALIA http://physics.uwa.edu.au/~paul

**Re: An Introduction to Programming with Mathematica, Third Edition**

**On AspectRatio**

**Re: Re: Limit and Root Objects**

**RE: Re: Re: Limit and Root Objects**