I do not have formal formation in mathematics so excuse me in advance if my question is easy.
Imagine a 2*2 matrix
A = |a b|
|c d|
I was trying to find what I call "symmetries" but I guess that's not really what they are called maybe isometric transformation ? And also how to get those easily irrespective of the number of dimensions.
After some time I realised that the transpose At and this matrix S, that I do not know the name of, was probably the key to my problem :
S = |0 1|
|1 0|
I found 8 "symetries" :
A1 = A
A2 = At
A3 = AtS
A4 = SA
A5 = SAt
A6 = AS
A7 = SAtS
A8 = SAS
Those corresponds to the 2 possible reflections of a sheet of paper and 4 rotations on each of the faces.
But then that got me thinking... how do you get the NON-symetries ? is there an easy way ?
With this example I found only three possible "group" of symetries, and they are determined by the fact that either one row or one column follows a transformation but not the others...
Group 1 follows
|a b|
|c d|
Group 2 follows
|a b|
|d c|
Group 3 follows
|d b|
|a c|
I guess my questions are:
- Am I correct for the 8 symmetries ?
- Am I correct for the 3 "symmetry group" ? And if yes is the number of "symmetry group" always equal to D+1 with D the number of dimensions ?
- Does that relate to the basis of the matrix ?
- Is there a linear transformation possible from one group to the other ?
With maybe a bonus question: is there a function in python to get all the "symmetries" using numpy or some other compiled library ? If not it is not that hard to do by hand :)
Thanks !
NB: Please correct the title (rigid transformation ?) with the appropriate name if necessary... :)