Question about Simplify and
- To: mathgroup at yoda.ncsa.uiuc.edu
- Subject: Question about Simplify and
- From: Kevin McIsaac <Kevin_McIsaac>
- Date: 22 Jan 91 13:20:26
SUBJECT: Question about Simplify and There is a simple method in Mma to solve this problem ========== This is a question about Simplify and related objects. Below is a Mma session in which a 3x3 orthogonal matrix (u) is formed. (It is actually the Eulerian angle matrix.) To check that I had entered the matrix elements correctly, I multiplied the matrix by its transpose to confirm that the result is the 3x3 unit matrix. I found it surprisingly difficult to carry this through, and in fact was only partially successful. What is shown below is a subset of many things I tried. To go any further I seem to have to rather laboriously extract pieces of the various matrix elements and work with them. 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? Paul Schatz University of Virginia ========= You need to use algebraic rules instead of a simple substitution. The following will solve the problem in a couple of lines. 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}} uutrans=[u.Transpose[u] rules = AlgebraicRules[{c1^2 + s1^2 == 1, s2^2+c2^2 == 1, s3^2+c3^2 == 1}] Map[ (# /. rules)&, uutrans, {2}]