U = [[.1, .1, .7, .7], [.1, -.1, -.7, .7], [.7, .7, -.1, -.1], [.7, -.7, .1, -.1]] %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Integer matrices % % with integer eigenvalues % %%%%%%%%%%%%%%%%%%%%%%%%%%%% % Eigenvalues: 47, -47, 3, -3 U*diag([47, -47, 3, -3])*inv( U ) = [[0, -2, 0, 7], [-2, 0, 7, 0], [0, 7, 0, 46], [7, 0, 46, 0]] % Eigenvalues: 48, 46, -4, -2 U*diag([48, 46, -4, -2])*inv( U ) = [[-2, 1, 7, 0], [1, -2, 0, 7], [7, 0, 46, 1], [0, 7, 1, 46]] % Eigenvalues: 46, -48, 2, -4 U*diag([46, -48, 2, -4])*inv( U ) = [[-1, -2, 0, 7], [-2, -1, 7, 0], [0, 7, -1, 46], [7, 0, 46, -1]] % Eigenvalues: 48, -46, 4, -2 U*diag([48, -46, 4, -2])*inv( U ) = [[1, -2, 0, 7], [-2, 1, 7, 0], [0, 7, 1, 46], [7, 0, 46, 1]] % Eigenvalues: 49, 45, -5, -1 U*diag([49, 45, -5, -1])*inv( U ) = [[-2, 2, 7, 0], [2, -2, 0, 7], [7, 0, 46, 2], [0, 7, 2, 46]] % Eigenvalues: 45, -49, 1, -5 U*diag([45, -49, 1, -5])*inv( U ) = [[-2, -2, 0, 7], [-2, -2, 7, 0], [0, 7, -2, 46], [7, 0, 46, -2]] % Eigenvalues: 49, -45, 5, -1 U*diag([49, -45, 5, -1])*inv( U ) = [[2, -2, 0, 7], [-2, 2, 7, 0], [0, 7, 2, 46], [7, 0, 46, 2]] % Eigenvalues: 48, -48, 2, -2 U*diag([48, -48, 2, -2])*inv( U ) = [[0, -1, 0, 7], [-1, 0, 7, 0], [0, 7, 0, 47], [7, 0, 47, 0]] % Eigenvalues: 49, 47, -3, -1 U*diag([49, 47, -3, -1])*inv( U ) = [[-1, 1, 7, 0], [1, -1, 0, 7], [7, 0, 47, 1], [0, 7, 1, 47]] % Eigenvalues: 47, -49, 1, -3 U*diag([47, -49, 1, -3])*inv( U ) = [[-1, -1, 0, 7], [-1, -1, 7, 0], [0, 7, -1, 47], [7, 0, 47, -1]] % Eigenvalues: 49, -47, 3, -1 U*diag([49, -47, 3, -1])*inv( U ) = [[1, -1, 0, 7], [-1, 1, 7, 0], [0, 7, 1, 47], [7, 0, 47, 1]] % Eigenvalues: 45, -51, -1, -5 U*diag([45, -51, -1, -5])*inv( U ) = [[-3, -1, 0, 7], [-1, -3, 7, 0], [0, 7, -3, 47], [7, 0, 47, -3]] % Eigenvalues: 45, 51, 1, -5 U*diag([45, 51, 1, -5])*inv( U ) = [[-1, -3, 7, 0], [-3, -1, 0, 7], [7, 0, 47, -3], [0, 7, -3, 47]] % Eigenvalues: 44, -52, -2, -6 U*diag([44, -52, -2, -6])*inv( U ) = [[-4, -1, 0, 7], [-1, -4, 7, 0], [0, 7, -4, 47], [7, 0, 47, -4]] % Eigenvalues: 44, 52, 2, -6 U*diag([44, 52, 2, -6])*inv( U ) = [[-1, -4, 7, 0], [-4, -1, 0, 7], [7, 0, 47, -4], [0, 7, -4, 47]] % Eigenvalues: 49, -49, 1, -1 U*diag([49, -49, 1, -1])*inv( U ) = [[0, 0, 0, 7], [0, 0, 7, 0], [0, 7, 0, 48], [7, 0, 48, 0]] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Matrices with at most 1 digit % % beyond the decimal point % % with integer eigenvalues % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Eigenvalues: 3, -3, 2, -2 U*diag([[30, -30, 20, -20]])*inv( U )/10 = [[0, -1.9, 0, .7], [-1.9, 0, .7, 0], [0, .7, 0, 2.9], [.7, 0, 2.9, 0]] % Eigenvalues: 3, -4, 1, -2 U*diag([[30, -40, 10, -20]])*inv( U )/10 = [[-.5, -1.4, 0, .7], [-1.4, -.5, .7, 0], [0, .7, -.5, 3.4], [.7, 0, 3.4, -.5]] % Eigenvalues: 4, -3, 2, -1 U*diag([[40, -30, 20, -10]])*inv( U )/10 = [[.5, -1.4, 0, .7], [-1.4, .5, .7, 0], [0, .7, .5, 3.4], [.7, 0, 3.4, .5]] % Eigenvalues: 3, 4, -1, -2 U*diag([[30, 40, -10, -20]])*inv( U )/10 = [[-1.4, -.5, .7, 0], [-.5, -1.4, 0, .7], [.7, 0, 3.4, -.5], [0, .7, -.5, 3.4]] % Eigenvalues: 4, -4, 1, -1 U*diag([[40, -40, 10, -10]])*inv( U )/10 = [[0, -.9, 0, .7], [-.9, 0, .7, 0], [0, .7, 0, 3.9], [.7, 0, 3.9, 0]] % Eigenvalues: 3, 6, 1, -2 U*diag([[30, 60, 10, -20]])*inv( U )/10 = [[-.4, -1.5, .7, 0], [-1.5, -.4, 0, .7], [.7, 0, 4.4, -1.5], [0, .7, -1.5, 4.4]] % Eigenvalues: 3, -6, -1, -2 U*diag([[30, -60, -10, -20]])*inv( U )/10 = [[-1.5, -.4, 0, .7], [-.4, -1.5, .7, 0], [0, .7, -1.5, 4.4], [.7, 0, 4.4, -1.5]] % Eigenvalues: 6, -3, 2, 1 U*diag([[60, -30, 20, 10]])*inv( U )/10 = [[1.5, -.4, 0, .7], [-.4, 1.5, .7, 0], [0, .7, 1.5, 4.4], [.7, 0, 4.4, 1.5]] % Eigenvalues: 4, 6, 1, -1 U*diag([[40, 60, 10, -10]])*inv( U )/10 = [[.1, -1, .7, 0], [-1, .1, 0, .7], [.7, 0, 4.9, -1], [0, .7, -1, 4.9]] % Eigenvalues: 3, 7, 2, -2 U*diag([[30, 70, 20, -20]])*inv( U )/10 = [[.1, -2, .7, 0], [-2, .1, 0, .7], [.7, 0, 4.9, -2], [0, .7, -2, 4.9]] % Eigenvalues: 4, 7, 2, -1 U*diag([[40, 70, 20, -10]])*inv( U )/10 = [[.6, -1.5, .7, 0], [-1.5, .6, 0, .7], [.7, 0, 5.4, -1.5], [0, .7, -1.5, 5.4]] % Eigenvalues: 4, -7, -2, -1 U*diag([[40, -70, -20, -10]])*inv( U )/10 = [[-1.5, .6, 0, .7], [.6, -1.5, .7, 0], [0, .7, -1.5, 5.4], [.7, 0, 5.4, -1.5]] % Eigenvalues: 7, -4, 1, 2 U*diag([[70, -40, 10, 20]])*inv( U )/10 = [[1.5, .6, 0, .7], [.6, 1.5, .7, 0], [0, .7, 1.5, 5.4], [.7, 0, 5.4, 1.5]] % Eigenvalues: 6, -6, -1, 1 U*diag([[60, -60, -10, 10]])*inv( U )/10 = [[0, 1.1, 0, .7], [1.1, 0, .7, 0], [0, .7, 0, 5.9], [.7, 0, 5.9, 0]] % Eigenvalues: 6, 7, 2, 1 U*diag([[60, 70, 20, 10]])*inv( U )/10 = [[1.6, -.5, .7, 0], [-.5, 1.6, 0, .7], [.7, 0, 6.4, -.5], [0, .7, -.5, 6.4]] % Eigenvalues: 6, -7, -2, 1 U*diag([[60, -70, -20, 10]])*inv( U )/10 = [[-.5, 1.6, 0, .7], [1.6, -.5, .7, 0], [0, .7, -.5, 6.4], [.7, 0, 6.4, -.5]] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Matrices with at most 2 digits % % beyond the decimal point % % with integer eigenvalues % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Eigenvalues: 1, -2, -1, 2 U*diag([[100, -200, -100, 200]])*inv( U )/100 = [[.48, 1.5, -.14, 0], [1.5, .48, 0, -.14], [-.14, 0, -.48, 1.5], [0, -.14, 1.5, -.48]] % This last one is nicer, as it has zeros on the % anti-diagonal, simplifying the calculation of % the characteristic polynomial.