MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Global Optimization 5.2 now available
  • Next by Date: Mathematica at Math Camp
  • Previous by thread: matrix substitution
  • Next by thread: Re: matrix substitution