Re: Solve[] for equations?
- To: mathgroup at smc.vnet.net
- Subject: [mg32042] Re: Solve[] for equations?
- From: atelesforos at hotmail.com (Orestis Vantzos)
- Date: Thu, 20 Dec 2001 03:42:04 -0500 (EST)
- References: <9v7857$s6n$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Your problem is fascinating! I found a simpler way to reduce the equations, taking advantage of the symmetry of your equations: The r[i], i=1...4, can be thought of as the solutions of the polynomial (x-r[1])(x-r[2])(x-r[3])(x-r[4])=0 This polynomial can be written as x^4-P[1]x^3+P[2]x^2-P[3]x+P[4]=0 , where the P[i] are the symmetric polynomials of {r[1],..,r[4]}. So, instead of the r[i] we can solve for the P[i], and use the polynomial to find the r[i], (or store them as Root objects). We load the corrsponding package: <<Algebra`SymmetricPolynomials` The original equations can be rewritten as: t[i]==r[i](P[1]-r[i])/P[1], i=1..4 were P[1] is the 1st symmetric polynomial r[1]+r[2]+r[3]+r[4]. Turn this into a rule tRule= Table[t[i]->r[i](P[1]-r[1])/P[1],{i,4}] Now we can produce equations for the P[i], using the following method: a) Pick a symmetric expression of the t[i] b) Use the tRule to convert it into an expression of the r[i] and P[1]. c) Use the SymmetricReduction function, to convert both expressions to expressions of the symmetric polynomials T[i] and P[i] for t and r repsectively, and return the equation. The function which creates the equations is this: symRed[expr_] := First[SymmetricReduction[expr, Array[t, {4}],Array[T,{4}]]] == First[SymmetricReduction[expr /. tRules,Array[r, {4}],Array[P,{4}]]] The T[i] are the coefficients of the 4-th degree polynomial with roots t[i]. It can be easily shon that the equation that corresponds to the square of the sum of the t[i], depends only on P[1] and P[2], hence P[2] can be found directly: symRed[Sum[t[i],{i,4}]^2] --> T[1]^2==4P[2]^2/P[1]^2 Of the two solutions, the useful one is the P[2]==T[1]P[1]/2. I have experimented with many forms, but it seems tht one can not actualy get a set of equations that can be solved for all P[1],P[3],P[4]. I can however solve for P[3] and P[4]. The following set of equations come from symRed-ing the 3rd symmetric polynomial of t[i], the sum of the form t[1](t[2]+t[3]+t[4])+t[2](t[1]+t[3]+t[4])+... and the expression t[1]^2(t[2]+t[3]+t[4])+t[2]^2(t[1]+t[3]+t[4])+... Out[35]= 3 2 1 2 {P[1] (-P[3] + - P[1] P[3] T[1] + 2 3 P[1] P[4] (P[1] + T[1]) - P[1] T[3]) == 0, 2 1 2 2 2 P[1] T[2] == 2 P[1] P[3] + 4 P[4] + - P[1] T[1] , 2 2 2 P[1] T[1] T[2] - 3 P[1] T[3] == 2 3 P[3] 1 ------- - 3 P[1] P[4] - - P[1] P[3] T[1] - P[4] T[1] + P[1] 2 1 2 3 - P[1] T[1] } 4 We solve for P[3] and P[4], and using them we assemble the polynomial, whose solutions are the r[i]. The end product of this procedure are two 4-th degree polynomials, whose solutions are the r[i]. The polynomials have the T[i] as parameters, which can be calculated directly from the t[i]. Unfortunately (?) they also have the P[1] as parameter. So before you can get the solutions you have to provide their sum. Preliminary numerical analysis of the solution (well, I only found the whole trick yesterday), indicates that the values of P[1] that give 4 real roots lie in an open interval, and that is only for one of the polynomials. Which one seems to depend on the signs of the t[i]. Simply fascinating... Complex solutions are available for any value of P[1]. Orestis