Given a $4\times 4$ symmetric matrix, is there an efficient way to find its eigenvalues and diagonalize it?
Solution 1:
I didn't notice the OP was asking for an easier way to unitary diagonalize a matrix. I'll leave this answer here, just because I find this algorithm interesting.
Regarding points 1) and 2), let me introduce an interesting algorithm to diagonalize a real symmetric matrix using only elementary row operations (taken from Schaum's Outline of Theory and Problems of Linear Algebra, by Lipschutz and Lipson).
And here is a worked example of the above mentioned algorithm:
Solution 2:
This is what I get in a session with Pari-GP:
? M=[8,11,4,3;11,12,4,7;4,4,7,12;3,7,12,17]
%1 =
[8 11 4 3]
[11 12 4 7]
[4 4 7 12]
[3 7 12 17]
? charpoly(M)
%2 = x^4 - 44*x^3 + 340*x^2 + 1096*x - 569
? qfsign(M)
%3 = [3, 1]
? qfjacobi(M)
%4 = [[-2.7711067095643205005042713725054278775,
0.45792421148127108739250530588654614018,
13.784936206564400480761522475780657126,
32.528246291518648932350243590838224611]~,
[0.56546566894067682530206059221727842481,
0.48618155778071956234867882744958918213,
0.54955525973510618817381976083023906288,
0.37664981962144319750903998279270607039;
-0.46810465013958985829800140380345548297,
-0.47042263023491137214267988086021197332,
0.55128143386128172202765139532340765196,
0.50563758380920349835989610695765410760;
-0.54210521905381975449864154038806958910,
0.64436536825618266659441254842846620785,
-0.31320991082067338855031289595942215904,
0.43910676996647412411072995204550132449;
0.40896032233185550464871681388665378512,
-0.35654356540099667600450300414305218092,
-0.54403800321396212602733917384888354204,
0.64003967985456572726102891872973617133]]
The first four numbers after $\mathtt{qfjacobi(M)}$ are the eigenvalues, the rest is a matrix $P$ that diagonalizes $A$. I don't think it's possible to explicitly compute the roots of the characteristic polynomial, in this case.