Re: Cubic equations again...
- To: mathgroup at smc.vnet.net
- Subject: [mg115494] Re: Cubic equations again...
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 12 Jan 2011 04:09:33 -0500 (EST)
eqn = a - K - 2 (1 + b) q - (Sqrt[K] Sqrt[zhi])/Sqrt[q] == 0; solq[a_, b_, K_, zhi_] = Solve[eqn, q] // Simplify; params = {a -> 10, b -> 3, K -> 1/10, zhi -> 1}; sol1 = solq[a, b, K, zhi] /. params // Simplify; FullSimplify[eqn /. params /. sol1] {False, True, True} For these values of the parameters, the first root (the one that you investigated) is invalid sol1 // N // Chop {{q -> 1.2725408113389873}, {q -> 0.001021991380051641}, {q -> 1.201437197280962}} Solve[eqn /. params, q] // N // Chop {{q -> 0.0010219913800514346}, {q -> 1.2014371972809619}} Reduce[eqn /. params, q, Reals] // N q == 0.0010219913800515628 || q == 1.2014371972809617 Bob Hanlon ---- pjl52 <LEDERER at SSB.ROCHESTER.EDU> wrote: ============= Related questions have been asked here before but I do not see how they apply to the following problem. I have solved a cubic equation using Solve to get an analytic solution. In the case I am dealing with I am interested in a real root. I then plug in the actual values of coefficients into the real solution generated and get an answer that is incorrect. Here are the details: In[14]:= Solve[ a - K - 2 (1 + b) q - (Sqrt[K] Sqrt[zhi])/Sqrt[q] == 0, q] Out[14]....presents three solutions, the first I simplify and then assign to a function solq: solq[a_, b_, K_, zhi_]=(a (1 + b) - (1 + b) K + (3 Sqrt[3] Sqrt[(1 + b)^7 K zhi (-2 (a - K)^3 + 27 (1 + b) K zhi)] + (1 + b)^3 (-(a - K)^3 + 27 (1 + b) K zhi))^( 1/3))^2/(6 (1 + b)^2 (3 Sqrt[3] Sqrt[(1 + b)^7 K zhi (-2 (a - K)^3 + 27 (1 + b) K zhi)] + (1 + b)^3 (-(a - K)^3 + 27 (1 + b) K zhi))^(1/3)) Evaluating: solq[10, 3, .1, 1] I get 1.2725408113389869 + 0. I ( a real number). Now evaluating In[35]:= a - K - 2 (1 + b) q - (Sqrt[K] Sqrt[zhi])/Sqrt[ q] /. {a -> 10, b -> 3, K -> .1, zhi -> 1, q -> 1.2725408113389869` } Out[35]= -0.5606529814237877 So the solution is wrong. The actual solution is q=1.2014371972809619 which can be confirmed by graphing or numerical solution using FindRoot In[12]:= Rt[a_, b_, K_, zhi_] := FindRoot[a - K - 2 (1 + b) q - (Sqrt[K] Sqrt[zhi])/Sqrt[q], {q, 0.1}] In[13]:= Rt[10, 3, .1, 1] Out[13]= {q -> 1.2014371972809619} Does Solve not find the root, or is the problem evaluation of the analytical expression with the selected values? Thank you in advance, Phil University of Rochester