Re: matrix substitution
- To: mathgroup at smc.vnet.net
- Subject: [mg67438] Re: matrix substitution
- From: Roger Bagula <rlbagula at sbcglobal.net>
- Date: Sat, 24 Jun 2006 05:28:03 -0400 (EDT)
- References: <e665nv$n43$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
An old Russian non-Euclidean transform is: t'=(t+a)/(1+a*t) x'=x*Sqrt[1-a^2)/(1+t*a) which is known for having ( t')^2+(x')^2=t^2+x^2=1 What I did was adapt that substitution to quarenions so that we have a five variable projection onto a unit quaternion. {a,t,x,y,z} A new quaternion substitution: Clear[a, m, m1, t0, taq1, q2, q1a, q2a] i = {{0, 1}, {-1, 0}}; j = {{0, I}, {I, 0}}; k = {{I, 0}, {0, -I}}; e = IdentityMatrix[2]; q[t_, x_, y_, z_] = e*t + x*i + j*y + k*z; q1 = q[(t + a)/(1 + a*t0), x*Sqrt[1 - a^2]/(1 + a* t0 ), y*Sqrt[1 - a^2]/(1 + a*t0), z*Sqrt[1 - a^2]/(1 + a*t0)] q2 = q[(t + a)/( 1 + a*t0), -x*Sqrt[1 - a^2]/(1 + a* t0), -y*Sqrt[1 - a^2]/(1 + a*t0), -z*Sqrt[1 - a^2]/(1 + a*t0)] a0 = FullSimplify[ExpandAll[q1.q2]] Solve[a0[[1, 1]] - 1 == 0, t0] ta = t0 /. Solve[a0[[1, 1]] - 1 == 0, t0][[2]] q1a = q[(t + a)/(1 + a*ta), x*Sqrt[1 - a^2]/(1 + a*ta ), y*Sqrt[1 - a^2]/(1 + a*ta), z*Sqrt[1 - a^2]/(1 + a*ta)] q2a = q[(t + a)/(1 + a*ta), -x* Sqrt[1 - a^2]/(1 + a*ta), -y*Sqrt[1 - a^2]/(1 + a*ta), -z* Sqrt[1 - a^2]/(1 + a*ta)] a1 = FullSimplify[ExpandAll[q1a.q2a]]