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
{}