Re: Reduction of Radicals

*To*: mathgroup at smc.vnet.net*Subject*: [mg71984] Re: [mg71902] Reduction of Radicals*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Thu, 7 Dec 2006 06:25:28 -0500 (EST)*References*: <200612031126.GAA08075@smc.vnet.net>

dimitris wrote: > Based on this reference > > Cardan Polynomials and the Reduction of Radicals (by T. Osler) > > (see also references therein) > > (you can download the paper here: > http://www.jstor.org/view/0025570x/di021218/02p0059q/0?currentResult=0025570x%2bdi021218%2b02p0059q%2b0%2c03&searchUrl=http%3A%2F%2Fwww.jstor.org%2Fsearch%2FBasicResults%3Fhp%3D25%26so%3DNewestFirst%26si%3D1%26Query%3DOsler > ) > > the following expression can be reduced to 1 > > z = (2 + Sqrt[5])^(1/3) + (2 - Sqrt[5])^(1/3) > > Mathematica gives > > N[%] > 1.9270509831248424 + 0.535233134659635*I > > This is because by default it returns a complex number for the cube > root of a negative number > > List @@ z > N[%] > > {(2 - Sqrt[5])^(1/3), (2 + Sqrt[5])^(1/3)} > {0.30901699437494756 + 0.535233134659635*I, 1.618033988749895} > > However defining > > mycuberoot[x_] := Block[{w}, w = w /. Solve[w^3 == 1][[3]]; If[Re[x] < > 0, w*x^(1/3), x^(1/3)]] > > Then > > {2 - Sqrt[5], 2 + Sqrt[5]} > mycuberoot /@ % > FullSimplify[%] > Together[Plus @@ %] > > {2 - Sqrt[5], 2 + Sqrt[5]} > {(-1)^(2/3)*(2 - Sqrt[5])^(1/3), (2 + Sqrt[5])^(1/3)} > {(1/2)*(1 - Sqrt[5]), (1/2)*(1 + Sqrt[5])} > 1 > > Is there a particular reason why by default Mathematicas returns a > complex number for the cube root of a negative number or it is a matter > of choise? > > Following the same procedure I prove that > > (10 + 6*Sqrt[3])^(1/3) + (10 - 6*Sqrt[3])^(1/3) > > is equal to 2. Indeed > > {10 + 6*Sqrt[3], 10 - 6*Sqrt[3]} > mycuberoot /@ % > FullSimplify[%] > Together[Plus @@ %] > > {10 + 6*Sqrt[3], 10 - 6*Sqrt[3]} > {(10 + 6*Sqrt[3])^(1/3), (-1)^(2/3)*(10 - 6*Sqrt[3])^(1/3)} > {1 + Sqrt[3], 1 - Sqrt[3]} > 2 > > This behavior of Mathematica does not affect simplifications by e.g. > RootReduce? > > I must admit that I have gaps on my knowledge in these symbolic aspects > > (I start to be interested in after I try to solve the the secular > Rayleigh equation) > so more experienced members of the forum may forgive any possible > mistakes of mine! > > Anyway I don't understand this difference in treating nested radicals > between literature and Mathematica. > > I really appreciate any kind of insight/guideness/comments. > > Regards > Dimitris The use of principal roots has received some replies but since I liked the Osler article above and wanted to comment I thought I'd revisit. (1) As pointed out by others (A. Kozlowski, M. Eisenberg) use of principal values for fractional roots means, among other things, that Power can be defined in terms of Log, and they can share a branch cut. This is useful in and of itself (try figuring out jumps in definite integration with a proliferation of functions having unrelated btranch cuts). Another reason to like the definition a^b==Exp[b*Log[a]] is that for r>0 it makes f[x_]=(-r)^x differentiable in x. With a choice of negative roots for x equal to 1/n, n an odd integer, such a function would fail even to be continuous. Another nice feature is that it becomes simple to recover "surds" (that is, the full set of values for a radical a^(1/n)) simply by taking the principal value and multiplying by powers of the principal nth root of unity. Were we to have (-1)^(1/3), say, be simply -1, then one would be forced to use explicit complex exponentials instead of root-of-unity radicals in order to attain the principal value. But having (-1)^(1/3) be the principal value means we can easily attain other roots such as -1 by multiplying by appropriate powers of this root of unity. (2) Osler's paper discusses some ways to reduce certain radicals to simpler forms. This is a special case of radical denesting. In this case one can use polynomial algebra techniques coupled with a selection procedure to remove parasite roots. One example uses something resembling (2+Sqrt[5])^(1/3) + (2-Sqrt[5])^(1/3) EXCEPT with the convention that the cube of the negative is a negative rather than principal value. To find the desired value one might make new variables for radicals and polynomials to define them (in effect giving the surds, or full sets of values), eliminate all variables other than the one representing the value of interest, and then find the root of the resulting polynomial (in that remaining variable) that lies in the region of interest. For this example we might let x=(2+Sqrt[5])^(1/3) with defining polynomial x^3-(2+z) (where y is given by z^2-5). Letting t be the value of interest and continuing in this way, we would get polys = {t-(x+y), x^3-(2+z), y^3-(2-z), z^2-5}; Now form a Groebner basis eliminating all but t, and solve for t. roots = t /. Solve[First[GroebnerBasis[polys,t,{x,y,z}]]==0, t]; Last, select the root that is real valued. In[36]:= Select[roots, Element[#,Reals]&] Out[36]= {1} Of course we could use direct built in functionality, provided we first translate the expression as per note (1) above so that we are indeed getting the negative root for the second summand. This summand thus becomes (-1)^(2/3)*(2-Sqrt[5])^(1/3) and we do In[37]:= RootReduce[(2+Sqrt[5])^(1/3) + (-1)^(2/3)*(2-Sqrt[5])^(1/3)] Out[37]= 1 The last example in the paper is a bit more complicated but can be handled in exactly the same ways. It was from the dedication of a 1997 paper, commerating an anniversary of the birth of Ramanujan. const = (32*(146410001/48400)^3 - 6*(146410001/48400)); polys = {t^6-(const+b), b^2-(const^2-1)}; roots = t /. Solve[First[GroebnerBasis[polys,t,b]]==0, t]; Now grab any root real and larger than 1. In[41]:= Select[roots, Element[#,Reals]&&#>1&] Out[41]= {110} (3) Osler defines and uses "Cardan polynomials" to do radical reduction. I cannot help but notice* that these have interesting combinatorial, algebraic, and analytic properties, a few of which I'll describe. First his definition: Ca[n_,x_,y_] := Expand[2*y^(n/2)*ChebyshevT[n,x/(2*Sqrt[y])]] For example: In[45]:= InputForm[Ca[9,x,y]] Out[45]= x^9 - 9*x^7*y + 27*x^5*y^2 - 30*x^3*y^3 + 9*x*y^4 We'll work with a closely related family wherein we take absolute values of coefficients and also add a term y^n. Da[n_,x_,y_] := Expand[-I^n*Ca[n,I*x,y]+y^n] In[47]:= InputForm[Da[9,x,y]] Out[47]= x^9 + 9*x^7*y + 27*x^5*y^2 + 30*x^3*y^3 + 9*x*y^4 + y^9 Finally we'll want to define some very familiar polynomials. Ru[n_,x_,y_] := Expand[(x+y)^n] In[49]:= InputForm[Ru[9,x,y]] Out[49]= x^9 + 9*x^8*y + 36*x^7*y^2 + 84*x^6*y^3 + 126*x^5*y^4 + 126*x^4*y^5 + 84*x^3*y^6 + 36*x^2*y^7 + 9*x*y^8 + y^9 Note that Ru[n,x,y] has coefficients from the nth row of the Pascal triangle. (A) If one looks at rows of coefficients from Da[n,x,y] as n increases one sees an assymmetric triangle. For example, the 11th row would be 1 11 44 77 55 11 1 We can derive this from the 11th row of the Pascal triangle using a one-sided differencing. That is, for the kth element of the mth row, we'll take absolute value of alternating sums from the prior row, up to the kth element. Pa[n_,k_,0] := Binomial[n,k] Pa[n_,k_,m_] := Abs[Sum[(-1)^(j-1)*Pa[n,j,m-1],{j,m,k}]] Now let's look at a table of these values, for n=11. assymmetrictable[n_] := Table[Pa[n,k,j], {j,0,(n-1)/2}, {k,0,n-1}] In[146]:= InputForm[assymmetrictable[11]] Out[146]//InputForm= {{1, 11, 55, 165, 330, 462, 462, 330, 165, 55, 11}, {0, 11, 44, 121, 209, 253, 209, 121, 44, 11, 0}, {0, 0, 44, 77, 132, 121, 88, 33, 11, 0, 0}, {0, 0, 0, 77, 55, 66, 22, 11, 0, 0, 0}, {0, 0, 0, 0, 55, 11, 11, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0}} We have recovered the nontrivial "middle" coefficients for Da[11,m] (the two "end" coefficients are simply unity) from the first nonzero element of row m: 11, 44, 77, 55, 11. There are nice combinatorial formulas for these coefficients; I wanted to illustrate an algorithmic approach to recovering them from the binomial coefficients of the Pascal triangle. (B) The maps Ru[n,x,y] and Da[n,x,y] each posess a group invariance property. And, returning to the original intent of the thread, thses involve multiplication by principal roots of unity. For Ru[n,x,y] we have the map given by the matrix rumat = {{e,0},{0,e}} where e=(-1)^(2/n) is the principal nth root of unity. This gives rise to a group action {z,w} --> {e*z,e*w}. For Da[n,x,y] we use damat = {{e,0},{0,e^2}} giving the group action {{z,w} --> {e*z,e^2*w}. So let's define these actions explicitly. groupAction[n_,m_,expr_,x_,y_] := expr /. {x->x*(-1)^(2/n),y->y*(-1)^(2*m/n)} Now we'll check the claimed invariance properties for n=9. In[156]:= InputForm[groupAction[9,1,Ru[9,x,y],x,y]] Out[156]//InputForm= x^9 + 9*x^8*y + 36*x^7*y^2 + 84*x^6*y^3 + 126*x^5*y^4 + 126*x^4*y^5 + 84*x^3*y^6 + 36*x^2*y^7 + 9*x*y^8 + y^9 This is indeed simp,ly Ru[9,x,y] In[157]:= InputForm[groupAction[9,2,Da[9,x,y],x,y]] Out[157] x^9 + 9*x^7*y + 27*x^5*y^2 + 30*x^3*y^3 + 9*x*y^4 + y^9 which again is just Da[9,x,y] (C) It turns out that both Ru[n,x,y] and Da[n,x,y] map the lines x+y=1 to 1. That is, if we replace y by 1-x the polynomials will evaluate to unity. For example: In[161]:= Ru[9,x,1-x] Out[161]= 1 In[162]:= Da[9,x,1-x] Out[162]= 1 The case of Ru[n,x,1-x] should not be a surprise. After all Ru[n,x,y] is simply (x+y)^n and this is of course 1 on x+y=1. That Da[n,x,1-x]=1 is a bit more subtle. Also: all polynomial maps with this property that are invariant under the action of groupAction[n,1,...] can be obtained from straightforward operations that amount to "tensoring", and inversion thereof, of this basic polynomial Ru[n,x,y]. Similarly, all polynomial maps that take x+y==1 to 1 and are invariant under groupAction[n,2,...] are obtained from such operations on Da[n,x,y]. Clearly (he said,) there are no other 2x2 finite matrix group representations for which there are invariant polynomials taking x+y=1 to 1 (except for those obviously equivalent to damat, as these can each be represented in two ways). Anyone else catch these?* Daniel Lichtblau Wolfram Research *Just trolling. This stuff is far from obvious but was familiar from a previous lifetime. "Pa" is for Pascal, "Ru" for Rudin, "Da" for D'Angelo. Obviously Rudin's polynomials predate Rudin; his contribution was to note that they both map the unit ball in C^2 to higher dimensional balls (analogous to those polynomials taking x+y-1 to 1), and satisfy a group invariance property. As noted above, the Cardan polynomials from Osler's article are D'Angelo's but with one term dropped and signs alternating. For odd n D'Angelo had defined them in an article from 1988, showing how they give maps from the unit ball in C^2 with properties similar to Rudin's, but working with a less trivial group. He also conjectured no other such groups could be used in this way, either for C^2 or higher dimension domains. Some possible matrix groups had been ruled out around that time by F. Forstneric. Ruling out the rest was interesting work, and I think it's all covered in D'Angelo's book "Several Complex Variables and the Geometry of Real Hypersurfaces". The cases of n even-valued were used in an article by D'Angelo from the 90's to discuss mappings from the ball to hyperquadrics that have similar invariance properties. We do not know if these polynomials were defined in any context prior to that. Various combinatorial properties of the D'Angelo polynomials appear in a number of his articles. The connection of these to Chebyshev polynomials is observed in an American Mathematical Monthly article by Dilcher and Stolarsky (October 2005). That all polynomial maps invariant under that groupAction[n,2,...] and taking x+y=1 to 1 can be obtained from Da[n,x,y] was proved in a hammock.

**References**:**Reduction of Radicals***From:*"dimitris" <dimmechan@yahoo.com>