formula for a rotation matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg84738] formula for a rotation matrix
- From: Yaroslav Bulatov <yaroslavvb at gmail.com>
- Date: Fri, 11 Jan 2008 22:10:31 -0500 (EST)
I'm looking for a rotation matrix R that rotates vector 1,1,1,..,1 to
align with vector 0,0,...,0,1 in n dimensions. Since there may be many
such matrices, I'm looking for a one with the nicest symbolic
expression
One possible formula is below, although it seems a bit complicated
since it involves 4 distinct values. Is it possible to get an
expression that is more symmetrical?
let J=(n-1)x(n-1) matrix of 1's, I=(n-1)x(n-1) identity matrix,
j1=(n-1)x1 matrix of 1's, j2=1xn matrix of 1's
R=I-J/(sqrt(n)+n) ~Append~ -j1/(sqrt(n)) ~Append~ j2/(sqrt(n))
R[n_] := Module[{},
(* make n-1 x n-1 subblock *)
J = ConstantArray[1, {n - 1, n - 1}];
m = IdentityMatrix[n - 1] - J/(n + Sqrt[n]);
(* Append a column of -1/Sqrt[n]*)
m = m // Transpose // Append[#, Table[-1/Sqrt[n], {n - 1}]] & //
Transpose;
(* Append a row of 1/Sqrt[n] *)
m = Append[m, Table[1/Sqrt[n], {n}]]
]