Should RotationMatrix work with symbolic vectors?
- To: mathgroup at smc.vnet.net
- Subject: [mg85952] Should RotationMatrix work with symbolic vectors?
- From: Steve Gray <stevebg at roadrunner.com>
- Date: Thu, 28 Feb 2008 02:56:49 -0500 (EST)
It works fine when the "source" and "destination" vectors are numeric
(it gives a matrix, say rm2, such that rm2.a2 is parallel to b2):
a2 = {1, 2, 3};
b2 = {3, 5, 7};
rm2 = N[RotationMatrix[{a2, b2}]]
{{0.997846, 0.028474, 0.059102},
{-0.0301974, 0.999138, 0.028474},
{-0.0582406,-0.0301974,0.997846}}
and
Normalize[rm2.a2] (* rm2.Normalize[a2] also works *)
{0.329293, 0.548821, 0.76835}
which is a unit vector parallel to b2. So far, great. But unless a2
and b2 have numeric values, RotationMatrix does nothing.
avec = {a2x, a2y};
bvec = {b2x, b2y};
RotationMatrix[{avec, bvec}] (* gives *)
RotationMatrix[{{a2x, a2y}, {b2x, b2y}}]
Can't it handle symbolics like most functions?
While I'm asking about vectors, consider this example:
av = {avx, avy, avz};
bv = {bvx, bvy, bvz};
Normalize[av\[Cross]bv] (* which gives *)
{(-avz bvy + avy bvz)/Sqrt[Abs[-avy bvx + avx bvy]^2 +
Abs[avz bvx -avx bvz]^2 + Abs[-avz bvy + avy bvz]^2],
(avz bvx - avx bvz)/Sqrt[Abs[-avy bvx + avx bvy]^2 +
Abs[avz bvx - avx bvz]^2 + Abs[-avz bvy + avy bvz]^2],
(-avy bvx + avx bvy)/Sqrt[ Abs[-avy bvx + avx bvy]^2 +
Abs[avz bvx - avx bvz]^2 + Abs[-avz bvy + avy bvz]^2]}
All three vector components have the same denominator. What's a good
way to automatically show that for clarity and speed?
I'd appreciate any information.
Steve Gray