Rick, This subject has interested me for many years since several of my procedures rely on eigenvalues and eigenvectors. Eigenvalues and eigenvectors are of course extensively used in SAS, and we want the results to be consistent across SAS releases and operating systems Options for making the results less likely to change include reflecting an eigenvectors if the sum of its elements is negative. Tied eigenvalues make the problem of reliably returning the same eigenvectors even more interesting. One easy way to create a matrix that has tied eigenvalues is to create a Hadamard matrix.

proc iml;
x = hadamard(16);
call eigen(val, vec, x);
print (val`) vec[format=5.2];
quit;

This Hadamard matrix has 8 eigenvalues equal to 4 and 8 equal to -4.

SAS has code to try to make eigenvectors unique even within large blocks of tied eigenvalues. Sometimes, algorithms will only solve for the first m eigenvalues. If eigenvalues m and m-1 are tied, then the code can optionally solve for more eigenvalues until it finds the end of the tie block so that it can then apply the code to find unique eigenvectors. Not all procedures use all of the options.