How do you find the set of n by n rotation matrices that when multiplied, rotate an n-dimensional point(a[1],a[2],a[3]...a[n]) around the center point (0,0...0) such that you get the point (b,b,...b) where b is a real number?
-
I don't think that has a unique answer in more than three dimensions. – RobertTheTutor May 10 '21 at 20:40
-
1Any answer would be helpful, i dont need all the solutions. – Robert Puscasu May 10 '21 at 20:41
-
Can we assume that the point $a$ is on the same $n$-sphere as the point $b$, i.e. that lengths are preserved? – RobertTheTutor May 10 '21 at 20:50
-
1To RobertTheTutor: Yes, lenghts are preserved. – Robert Puscasu May 10 '21 at 20:52
-
What is the definition you take of a rotation in dimension $n$ ? Is it connected to an orthogonal matrix with determinant 1 ? – Jean Marie May 10 '21 at 21:21
-
A rotation on a point P gives a point R such that sqrt((R[1])^2+(R[2])^2+...(R[n])^2) = sqrt((P[1])^2+(P[2])^2+...(P[n])^2). I hope that answers your question because honestly i didnt understand your question even though i know what an orthogonal matrix and a determinant is. – Robert Puscasu May 10 '21 at 21:34
-
- I wasn't aware of your anwer because you haven't prefixed it by '@JeanMarie' 2) As I understand, any orthogonal matrix will do : see my answer using Householder symmetry operator.
– Jean Marie May 10 '21 at 22:42
2 Answers
Here is simple way to achieve it.
We want vector $U=(a_1,a_2, \cdots a_n)^T$ to be mapped onto vector $V=(1,1, \cdots 1)^T$ by a certain matrix (we assume, as you do, that $U$ and $V$ have the same norm ; the $T$s are there for considering them as column vectors).
Let $D=U-V$ and $N=D/\|D\|$ its normalized version (therefore $N^TN=1$, a property that will be sueful later).
Then consider the so-called Householder operator:
$$H_N:=I_n-2NN^T $$
It has the property :
$$H_N^2=H_NH_N=(I_n-2NN^T )(I_n-2NN^T )=I_n-4NN^T+4N\underbrace{N^TN}_{1}N^T=I_n$$
proving that it is symmetry, in fact a symmetry with respect to the hyperplane with normal vector $N$.
Therefore $$H_NU=V$$
(this can be established by computation also)
- 81,803
-
Thank you for your time. Even though I will need to research a little bit to understand your answer, it seems on a first read that I will solve my problem. – Robert Puscasu May 10 '21 at 23:29
To find a matrix, we have two vectors, the starting point and the ending point.
First transform to an orthonormal coordinate system (using Gram-Schmidt) where the starting point is the first vector (normalized) and the first two basis vectors have the same span as the starting and ending point vectors. Then perform a 2D rotation. Then transform back.
- 7,415
- 2
- 10
- 34