Re: Question about Simplify and related
- To: mathgroup at yoda.ncsa.uiuc.edu
- Subject: Re: Question about Simplify and related
- From: mbp at aurora.urich.edu (Mark B. Phillips)
- Date: Sat, 19 Jan 91 18:07:47 EST
> This is a question about Simplify and related objects. Below is
> a Mma session in which a 3x3 orthogonal matrix (u) is formed.
>
> ...
>
> In fact I have gotten to the point below where one can show in a
> couple of minutes with a paper and pencil that uutrans is indeed the
> 3x3 unit matrix.
> Sould all this be so hard to do, or am I missing something
> simple and obvious?
Part of the problem lies in that your simplification rules like si^2 +
ci^2 -> 1 really need to to be applied at different times to different
subexpressions.
For example to simplify: c3^2 + c1^2 s3^2 + s1^2 s3^2
using only the rules
si^2 + ci^2 -> 1
one needs to first factor
s3^2 out of the 2nd two terms: c3^2 + s3^2( c1^2 + s1^2 )
apply s1^2 + c1^2 -> 1: c3^2 + s3^2
and then apply c3^2 + s3^2 -> 1: 1.
Fortunately in this case the rules are simple enough to be written in
a form which will completely eliminate a variable when applied. Using
si^2 -> 1 - ci^2 works much better because it complelely eliminates
si^2 from the expression:
In[1]:= u={{c1 c2 - c3 s1 s2,c2 s1 + c3 c1 s2,s2 s3},
{-s2 c1 - c3 s1 c2, -s2 s1 + c3 c1 c2, c2 s3},
{s3 s1, -s3 c1, c3}}
Out[1]= {{c1 c2 - c3 s1 s2, c2 s1 + c1 c3 s2, s2 s3},
> {-(c2 c3 s1) - c1 s2, c1 c2 c3 - s1 s2, c2 s3}, {s1 s3, -(c1 s3), c3}}
In[2]:= uutrans = Expand[ u . Transpose[u] ]
Out[2]= [[ lengthy output deleted ]]
In[3]:= Expand[ uutrans /. {s1^2->1-c1^2, s2^2->1-c2^2, s3^2->1-c3^2} ]
Out[3]= {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
There are other case, however, where the simplification rules are
not so simple, in which I have no idea how to proceed.
Mark Phillips
mbp at thales.urich.edu
Mathematics and Computer Science
University of Richmond
Richmond, Virginia 23173
USA
phone: (804) 289-8090
fax: (804) 289-8943