simplifying RotationMatrix
- To: mathgroup at smc.vnet.net
- Subject: [mg96321] simplifying RotationMatrix
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Wed, 11 Feb 2009 05:23:42 -0500 (EST)
- References: <23667197.1234176058052.JavaMail.root@m02>
- Reply-to: drmajorbob at longhorns.com
If I calculate the rotation matrix from one vector to another in spherical
coordinates, the result is HUGELY complicated:
Needs["VectorAnalysis`"]
SetCoordinates[Spherical];
mean = {1, t0, p0};
pt = {1, t, p};
xy = CoordinatesToCartesian /@ {mean, pt};
rot = RotationMatrix@xy;
LeafCount@rot
32798
I don't know what to tell Simplify about this, but it seem there are MANY
unnecessary Conjugate mentions:
Cases[rot, Conjugate[z_], Infinity] // Length
1575
and MANY unnecessary cases like this, too:
Cases[rot, Power[Abs[z_], 2], Infinity] // Length
1980
Each of these could be simply z^2, I think.
Trying to eliminate these with rules doesn't seem to help much, if any.
The first thing I thought of was PowerExpand, but
Map[PowerExpand, rot, {2}] // LeafCount
32798
What am I missing? How can it be that complicated in the first place?
Bobby