0

I'm working on a problem with building heterostructures with a atomic unit cell. The unit cell (A) can be repeated infinitely along the xy plane. The transformation matrices (a and b) transform the unit cell to a supercell (aA and bA) so now aA and bA are each made up of several pieces of unit cell A.

A, a and b are

         7   0   0         0    7    0         6    9    0
A  =   -3.5  6   0     a=  1    3    0     b=  3    3    0
         0   0   1         0    0    1         0    0    1

How can I find the difference in angle of rotation between A in aA and an A in bA?

We can see that there is no translation in the transformations. Also, as the supercells are made up of individual unit cells that do not change shape in the transformation process, there is no shear. Hence only scaling and rotation are present. Rotation will be about (0, 0, 0) on the xy plane.

I tried decomposing the transformation matrices like in here. This led to

     S_(xa) cos(t_a)   -S_(xa) sin(t_a)   0           S_(xb) cos(t_b)   -S_(xb) sin(t_b)   0
a=   S_(ya) sin(t_a)    S_(ya) cos(t_a)   0      b=   S_(yb) sin(t_b)    S_(yb) cos(t_b)   0
            0                 0           1                  0                  0          1

but the rotation matrices after peeling away the scaling matrix do not fit the rotation matrix form.

Can someone enlighten me on what is wrong/missing here?

Many thanks

Jacek

Jacek
  • 101
  • There are four variables in the original matrix $a$, while there are only three variables in the decomposition. Therefore, the identification problem is overdetermined, and does not have a solution in general. –  Nov 04 '21 at 11:03
  • So physically, what is causing this over-determination? As in what extra transformation is matrices a and b performing that leads to the over-determination? – Jacek Nov 04 '21 at 14:17

1 Answers1

1

Just looking at the non-translation upper 2x2 block of $$a = \begin{bmatrix}0 & 7 \\ 1 & 3\end{bmatrix}$$

This definitely involves shear (which could be the result of, e.g. rotating and scaling and rotating again). Define S and C as sine and cosine of your rotation angle, and B and A for the before and after scaling vectors, and when you write out the generic rotate and scale transform you will see that you cannot possibly get $a$ from it.

$$\begin{bmatrix} A_x C B_x & A_x S B_y \\ - A_y S B_x & A_y C B_y \end{bmatrix}$$

Just a single rotation and scale (even scaling both before and after) could not result in only a single 0 component of the matrix - it would either have a whole row of 0 (scaling by a vector with a 0 component after rotation) or a column of 0 (scaling by a vector with a 0 before rotation), or the diagonal would be 0 (rotation by $\pm90°$), or the anti-diagonal would be zero (rotation by 0° or 180°). There is no solution that will give you a single 0 term like your matrix $a$.

Sir Nate
  • 166