MathGroup Archive 2008

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

Search the Archive

Re: formula for a rotation matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg84757] Re: formula for a rotation matrix
  • From: "Mariano Suárez-Alvarez" <mariano.suarezalvarez at gmail.com>
  • Date: Sat, 12 Jan 2008 05:22:14 -0500 (EST)
  • References: <fm9bfu$j5b$1@smc.vnet.net>

On Jan 12, 1:17 am, Yaroslav Bulatov <yarosla... at gmail.com> wrote:
> 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}]]
>   ]

This might work, up to a cyclic permutation of coordinates:

B[n_] := B[n] = Table[
  Which[
    i == 1,     1/Sqrt[n],
    j == 1,     -1/Sqrt[(n-i+1)(n-i+2)],
    i == j,     Sqrt[(1 - i + n)/(2 - i + n)],
    i < j,      -1/Sqrt[(n-i+1)(n-i+2)],
    True,       0
    ],
    {i,1,n},{j,1,n}
  ];

This is just the matrix that you get from

A[n_] :=Orthogonalize[
    Prepend[
      Rest@IdentityMatrix[n],
      Table[1,{n}]
    ]
  ];

-- m


  • Prev by Date: Re: Button crashes FrontEnd
  • Next by Date: Re: changing the name of exported file without typing
  • Previous by thread: formula for a rotation matrix
  • Next by thread: Re: formula for a rotation matrix