The function rotation_abc calculates the matrix R_abc that rotates abc variables around the {1,1,1}-axis in abc-space with arbitrary angle theta.
Using the definition
g_k = 1/3 + (2/3)*cos(theta - k*2*pi/3), k=0,1,2 (phases a, b, c)it takes the form
[g_0, g_2, g_1]
R_abc(theta) = [g_1, g_0, g_2]
[g_2, g_1, g_0]
and has the real eigenvector
{1, 1, 1}/sqrt(3)
in the abc reference-frame.
Coefficient matrices of the form (symmetrical systems)
[x, xm, xm]
X = [xm, x, xm]
[xm, xm, x ]
are invariant under transformations R_abc
The connection between R_abc and R_dqo is the following
R_abc = P0'*R_dqo*P0.with P0 the orthogonal transform 'Transforms.P0'.
function rotation_abc extends Icons.Function; input SI.Angle theta "rotation angle"; output Real[3, 3] R_abc "rotation matrix"; end rotation_abc;