The rotation-criterion for principal components is for your example $ \sum x°^2 = max ; \sum y°^2 =min $ where $x$ denotes the first and $y$ the second column and the superscript-circle that we consider the values when rotated by the sought rotation-angle. I also omit the row-indices.
Because the squaring leads to nonnegative values only we can also rewrite the criterion $ max = \sum x°^2-y°^2 $ (After that we could also check that the orthogonality criterion shall also be satisfied $ 0 = \sum 2 x° y° \quad $ ).
If the cosine and sine of the rotation-angle are denoted with
c and
s then
$x° = xc-ys \quad $ and
$y°=yc+xs \quad $ and we can rewrite the PC-criterion as
$ \begin{eqnarray} max &=& \sum (xc-ys)^2-\sum (yc+xs)^2 \\ &=& \sum (x^2c^2-2 xycs + y^2s^2) - \sum (y^2c^2+2xycs+x^2s^2) \\ &=& (c^2-s^2)\sum (x^2-y^2) - 2cs \sum (2xy) \\ &=& (c^2-s^2)(\sum x^2-\sum y^2) - 2cs \sum (2xy) \\ \end{eqnarray} $ But if now the eigenvalues are equal then the sum-of-squares of the
x-coordinates equal already that of the
y-coordinates and we have
$ \begin{eqnarray} max &=& (c^2-s^2)(0) - 2cs \sum (2xy) \\ \end{eqnarray} $ and if also the columns are already orthogonal then we have
$ \begin{eqnarray} max &=& (c^2-s^2)(0) - 2cs (0) \\ \end{eqnarray} $ and
c and
s can be arbitrary (and thus the rotation-angle) since the rhs is always zero and no rotation can increase that value to a greater
max-value.
[update]:
Conclusion : if the two columns are already in principal components position, then $0 =\sum x y$ (orthogonality) and $\sum x^2 = max$ and $\sum y^2=min$ where max and min mean here the maximal and minimal possible values which can be achieved by rotations only.
If now in a given case the eigenvalues ($ \lambda_x= \sqrt{\sum x^2} =\lambda_y= \sqrt{\sum y^2} $ are also equal then a rotation does not change the orthogonality nor the ratio of the eigenvalues, so the result of any rotation can then be called "pincipal components solution" with the same right. (Perhaps we should call such a situatin a "Principal plane" instead)
// Taking ascript in my MatMate-script language for matrix-analysis // We create a 2-column random matrix, coordinates are centered along the columns // and sum-of-squares per column is normed to be 1 [12] A=normsp(abwsp(randomu(8,2))) A : -0.0147 0.0768 0.2692 -0.0060 -0.2468 -0.3572 -0.0311 -0.4312 0.0578 0.1702 0.5288 0.3220 0.1788 -0.3985 -0.7419 0.6238 // check correlation and variance by correlation matrix [13] chkA = A' * A chkA : 1.0000 -0.2551 -0.2551 1.0000 // rotate to PC-position [14] B = rot(A,"pca") B : -0.0647 0.0439 0.1946 0.1861 0.0780 -0.4271 0.2829 -0.3269 -0.0795 0.1613 0.1463 0.6016 0.4082 -0.1554 -0.9657 -0.0835 // check: the correlations are zero (offdiagonal elements) // variances are ordered from max/min (diagonal elements) // thus B is in PC-position [15] chkB = B' * B chkB : 1.2551 -0.0000 -0.0000 0.7449 // now try what happens in a case, where also the ssq (=also squares of eigenvalues) // are equal. We just divide columnwise by their "lengthes" [16] C = B /# sqrt(sqsumsp(B)#) C : -0.0578 0.0508 0.1737 0.2157 0.0696 -0.4949 0.2525 -0.3787 -0.0710 0.1869 0.1306 0.6970 0.3644 -0.1800 -0.8620 -0.0968 // Ok, orthogonal, columns are uncorrelated ( offdiagonal is 0) // eigenvalues are equal (diagonal elements) [17] chkC = C' * C chkC : 1.0000 -0.0000 -0.0000 1.0000 // we can rotate by a random-rotation // and always get orthogonality and ordered eigenvalues in the diagonal // (the entries are equal) [18] D = C * gettrans(randomu(2,2),"drei") D : -0.0010 0.0769 0.2764 0.0159 -0.3203 -0.3836 -0.1115 -0.4413 0.0910 0.1780 0.6045 0.3708 0.1110 -0.3910 -0.6501 0.5743 [19] chkD = D' * D chkD : 1.0000 -0.0000 -0.0000 1.0000 // another random-rotation: [20] D = C * gettrans(randomu(2,2),"drei") D : -0.0175 0.0749 0.2666 0.0747 -0.2307 -0.4433 -0.0144 -0.4550 0.0508 0.1933 0.5111 0.4916 0.1921 -0.3582 -0.7579 0.4218 [21] chkD = D' * D chkD : 1.0000 -0.0000 -0.0000 1.0000