Re: Solutions that are not solutions
- To: mathgroup at smc.vnet.net
- Subject: [mg32086] Re: [mg32049] Solutions that are not solutions
- From: "PSi" <no at tee.gr>
- Date: Sat, 22 Dec 2001 04:23:06 -0500 (EST)
- References: <B44315B6-F667-11D5-9161-00039311C1CC@tuins.ac.jp>
- Sender: owner-wri-mathgroup at wolfram.com
Many thanks! The VerifySolutions -> True should probably be necessary for any application of Solve. However I can't find it in the online help! ----- Original Message ----- From: "Andrzej Kozlowski" <andrzej at tuins.ac.jp> To: mathgroup at smc.vnet.net Subject: [mg32086] Re: [mg32049] Solutions that are not solutions > You can see more clearly what is going on by using Reduce instead of > Solve: > > In[1]:= > X = {{0, y, z}, {y, x, t}, {u, v, w}}; > A = {{1, 1, a}, {0, 1, 0}, {0, 0, 1}}; > Reduce[{X . A == Transpose[A] . X, Det[X] == 1}, > {x, y, z, t, u, v, w}, VerifySolutions -> True] > > Out[3]= > a == 0 && u == 0 && w == -(1/y^2) && z == 0 || > u == a*y && x == (-1 + a*t*y^2 + a*v*y^2 - w*y^2)/ > (a^2*y^2) && z == a*y && a != 0 && y != 0 > > You see that the first solution works only if a=0. So the "spurious" > solution that you get actually is a solution that works only in the > special case a==0. In general Solve tries to avoid such non-generic > solutions. However, in some situations it is possible that certain > variables get eliminated during the process of finding a solution and > then one may obtain non-generic solutions with respect to these > eliminated variables (parameters). Note that in your equation the number > of solve variables is larger than the number independent variables. You > can avoid getting this non-generic solution by reducing the number of > solve variables in your equations to just three and treating all the > others as parameters, e.g. : > > In[35]:= > Solve[{X . A == Transpose[A] . X, Det[X] == 1}, {x, y, z}, > VerifySolutions -> True] > > Out[35]= > {{x -> (-a^2 + a*t*u^2 + a*u^2*v - u^2*w)/(a^2*u^2), z -> u, > y -> u/a}} > > In[36]:= > Simplify[{X . A == Transpose[A] . X, Det[X] == 1} /. %] > > Out[36]= > {{True, True}} > > Andrzej Kozlowski > Toyama International University > JAPAN > http://platon.c.u-tokyo.ac.jp/andrzej/