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}}}