question about Solve
- To: mathgroup at yoda.ncsa.uiuc.edu
- Subject: question about Solve
- From: "Paul N. Schatz" <pns at dalton.acc.virginia.edu>
- Date: Mon, 7 Jan 1991 13:20:57 EST
This is a question from a semi-beginner. I list below a Mma session in which I use Solve. (I list In and Out followed by a blank line in each case. Is there a more elegant way to format this from a Macintosh without a lot of tedious copying and pasting?) The problem I am trying to solve is the following. I have an orthogonal matrix u(inverse=transpose)--a 3x3. I want to solve some equations involving the matrix elements of u--insuring of course that u be orthogonal. To start with, I take a simple example in which I know the answers. You will see below that when I use Solve with the two conditions orth1 and orth4, I get four solutions. The third of these is correct. The others do not keep u orthogonal. Then I use Solve again. This time I add the additional condition orth2. It seems obvious to me that I should now get only the one correct solution. But in fact, Solve reports no solutions. Is it obvious why this is happening, andf if so, what I can do about it? Any help would be much appreciated. Paul Schatz Chemistry Dept. University of Virginia u={{u11,u12,u13},{u21,u22,u23},{u31,u32,u33}} {{u11, u12, u13}, {u21, u22, u23}, {u31, u32, u33}} MatrixForm[u] MatrixForm[{{u11, u12, u13}, {u21, u22, u23}, {u31, u32, u33}}] do1=m (Sqrt[2] u11 - u12 -Sqrt[3] u13) m*(2^(1/2)*u11 - u12 - 3^(1/2)*u13) do2=m (Sqrt[2] u21 - u22 -Sqrt[3] u23) m*(2^(1/2)*u21 - u22 - 3^(1/2)*u23) do3=m (Sqrt[2] u31 - u32 -Sqrt[3] u33) m*(2^(1/2)*u31 - u32 - 3^(1/2)*u33) orthog=u.Transpose[u]==IdentityMatrix[3] {{u11^2 + u12^2 + u13^2, u11*u21 + u12*u22 + u13*u23, u11*u31 + u12*u32 + u13*u33}, {u11*u21 + u12*u22 + u13*u23, u21^2 + u22^2 + u23^2, u21*u31 + u22*u32 + u23*u33}, {u11*u31 + u12*u32 + u13*u33, u21*u31 + u22*u32 + u23*u33, u31^2 + u32^2 + u33^2}} == {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} eq1=do1==Sqrt[2] m*(2^(1/2)*u11 - u12 - 3^(1/2)*u13) == 2^(1/2) eq2=do2==-Sqrt[1.0] m*(2^(1/2)*u21 - u22 - 3^(1/2)*u23) == -1. eq3=do3==-Sqrt[3.0] m*(2^(1/2)*u31 - u32 - 3^(1/2)*u33) == -1.732050807568877294 u12=u21=u13=u31=0 0 u11=1.0 1. orth1=u21^2+u22^2+u23^2==1.0 u22^2 + u23^2 == 1. orth2=u21 u31+u22 u32+u23 u33==0.0 u22*u32 + u23*u33 == 0. orth4=u31^2+u32^2+u33^2==1. u32^2 + u33^2 == 1. Solve[{eq1,eq2,eq3,orth1,orth4},{m,u22,u23,u32,u33}]//N {{u32 -> 0., u33 -> 1., u22 -> -0.5, u23 -> 0.8660254037844386468, m -> 1.}, {u32 -> 0.8660254037844386468, u33 -> 0.5, u22 -> -0.5, u23 -> 0.8660254037844386468, m -> 1.}, {u32 -> 0., u33 -> 1., u22 -> 1., u23 -> 0., m -> 1.}, {u32 -> 0.8660254037844386468, u33 -> 0.5, u22 -> 1., u23 -> 0., m -> 1.}} Solve[{eq1,eq2,eq3,orth1,orth4,orth2},{m,u22,u23,u32,u33}]//N {} Solve[{eq1,eq2,eq3,orth1,orth4,orth2},{m,u22,u23,u33}]//N {}