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]]