I got the term from this paper[1] and I don't understand what it means. It said the "Random Rotation Matrix" can be generated following "Haar Distribution"[2]. I only know the output is a matrix which contains random number but has a property which is the "Rotation" itself but I don't know what the "Rotation" means. I don't know what it means with the Haar distribution too. Then I read the paper[2] about a method for generating this "Random Rotation Matrix"[1] which is suggested by the first paper[1] and it seems so mathematical that it's hard for me to understand it. I research through the internet, books, and papers then I still don't understand what does "Rotation Matrix" mean and how to generate it because of those sources like telling different things. So my question is:
- What does "Rotation Matrix"[1] really mean? How does it look like? Can you give me an example of it?
- What is "Rotation Center"[1]? Maybe it's coordinate in the matrix where it becomes the centre point of the rotation?
- What is "Haar Distribution"[1]? I only know about uniform or normal distribution lol. Is it related to "Haar Measure"?
- Are there other good sources which discuss generating this "Random Rotation Matrix"[1]? Are there tips and trick to understanding those really hard and very mathematical paper to know how to generate this "Random Rotation Matrix"[1]?
[1]: K. Chen and L. Liu. A random rotation perturbation approach to privacy preserving data classification. Technical Report, 2005.
[2]: STEWART, G. The efficient generation of random orthogonal matrices with an application to condition estimation. SIAM Journal on Numerical Analysis 17 (1980).
Disclaimer: I'm a computer science student who doesn't good at math. So I need an answer which more understandable by engineer and of course it needs to be codeable. Sorry if the scope of this question is too wide or doesn't specific. Maybe the answer doesn't need to be the solution, I mean it can be just another sources which I can learn to answer my questions.
The set of all matrices of form $\pmatrix{\cos\theta&\sin\theta\\-\sin\theta&\cos\theta}$ form a so-called group: if you multiply two of them you get another one of them, and so on. These matrices are rotation matrices. The name of this group is $\mathrm{SO}(2,\mathbb R)$; there are other sets of matrices with similar properties. (Higher dimensions, etc, determinant allowed to be $\pm1$ instead of just $1$, complex matrix entries, etc, creates a whole zoo of other examples of rotation groups.)
In the $\mathrm{SO}(2,\mathbb R)$ example, if $\theta$ is chosen uniformly in $[0,2\pi)$, the resulting matrix will have what is called Haar distribution, which is just uniform distribution over the group in question.
In this $\mathrm{SO}(2,\mathbb R)$ example the "problem" of generating random rotations matrices is "solved" by the recipe in the first 2 paras: pick $\theta$ uniformly, evaluate the trig functions. In higher dimensions things become more complicated.
Added, after comments: Without knowing about your application, and assuming you want $n\times n$ real orthogonal matrices, the following recipe might be useful. Construct an $n\times n$ matrix $G$ whose entries are i.i.d. standard Gaussians. Then obtain its SVD decomposition: $G=UDV$ where $D$ is diagonal and $U$ and $V$ are orthogonal. Then $U$ and $V$ will be independent and be uniformly distributed over the orthogonal group.