I get something along these lines using SchurDecomposition.
 Chop[
   SchurDecomposition[
    N@{{0, 10, 10, 9}, {-10, 0, 8, 1}, {-10, -8, 0, 4}, {-9, -1, -4, 
       0}}]]
 
 {{{0.913074613626, 
    0.0263138475375, -0.117925531533, -0.389481579016}, \
 {0.308870821239, 0.592532858842, 0.342614325914, 
    0.660393103127}, {-0.180772611642, 
   0.681158781925, -0.689006457281, -0.169156964123}, \
{-0.195486134086, 0.429226171646, 
   0.627677540235, -0.619331066909}}, {{0, 18.1802797984, 0, 
   0}, {-18.1802797984, 0, 0, 0}, {0, 0, 0, 5.61047470838}, {0, 
   0, -5.61047470838, 0}}}