Re: Quadratic form: symbolic transformation

*To*: mathgroup at smc.vnet.net*Subject*: [mg76852] Re: [mg76801] Quadratic form: symbolic transformation*From*: DrMajorBob <drmajorbob at bigfoot.com>*Date*: Mon, 28 May 2007 01:12:15 -0400 (EDT)*References*: <4257704.1180260142104.JavaMail.root@m35>*Reply-to*: drmajorbob at bigfoot.com

q1=R*x^2+R*x+T; q2=u*(x+v)^2+w; 0==#&/@CoefficientList[Expand[q1-q2],x]; q2/.Solve[%,{u,v,w}] {1/4 (-R+4 T)+R (1/2+x)^2} Bobby On Sun, 27 May 2007 04:07:38 -0500, Dr. Wolfgang Hintze <weh at snafu.de> wrote: > Hello, > > this is a simple question but perhaps I can get here some information > towards a more apropriate way of using Mathematica. > > I take a very simple example: I would like to write the quadratic form > > q1 = R*x^2 + R*x + T > > in the form > > q2 = u*(x+v)^2 + w > > How can I find u, v, and w from R, S, and T? > > I'm sure there must be some symbolic way (using a sufficient amount of > _'s) to answer this question. > > My (cumbersome) procedure compares coefficients and looks like this > > (* writing down lhs == rhs) > In[112]:= > q = R*x^2 + S*x + T == u*(x + v)^2 + w > Out[112]= > T + S*x + R*x^2 == w + u*(v + x)^2 > > (* as q must be an identiy in x, i.e. must hold for all x, I compare > coefficients at x=0 *) > In[113]:= > eq1 = q /. {x -> 0} > Out[113]= > T == u*v^2 + w > In[114]:= > eq2 = D[q, x] /. {x -> 0} > Out[114]= > S == 2*u*v > In[115]:= > eq3 = D[q, {x, 2}] /. {x -> 0} > Out[115]= > 2*R == 2*u > In[119]:= > t = First[Solve[{eq1, eq2, eq3}, {u, v, w}]] > Out[119]= > {w -> (-S^2 + 4*R*T)/(4*R), u -> R, v -> S/(2*R)} > > (* writing down the result explicitly *) > In[120]:= > q /. t > Out[120]= > T + S*x + R*x^2 == (-S^2 + 4*R*T)/(4*R) + R*(S/(2*R) + x)^2 > In[122]:= > Simplify[q /. t] > Out[122]= > True > > Thanks in advance for any hints. > Regards, > Wolfgang > > > -- = DrMajorBob at bigfoot.com