# Block diagonalizing a complex anti-symmetric matrix

I am going to evaluate the block diagonal form of few skew-matrices. When matrix elements are real I can simply follow the approach suggested in this thread which I have implemented that as

{vals, vecs} = Eigensystem[H];
Veig = Transpose[Normalize /@ vecs];

u1 = Normalize[Re[Veig[[All, 1]]]];
u2 = Normalize[Im[Veig[[All, 2]]]];
u3 = Normalize[Re[Veig[[All, 3]]]];
u4 = Normalize[Im[Veig[[All, 4]]]];
Umat = ArrayFlatten[{u1, u2, u3, u4}]
Umat.H.Transpose[Umat] // MatrixForm


I have tested this script for this real skew-matrix

H = {{0, a, b, c},
{-a, 0, p, q},
{-b, -p, 0, d},
{-c, -q, -d, 0}};


where a = 0.2, b = 0.3, c = 1.1, d = 0.7, p = 0.33, and q = 0.5. Eigenvalues of this matrix are

vals={1.04083*10^-16 + 1.45959 I,
1.04083*10^-16 - 1.45959 I,
1.38778*10^-17 + 0.241848 I,
1.38778*10^-17 - 0.241848 I}


and the transformed matrix looks like

Result={{7.1643*10^-18, -1.45959, 9.34311*10^-17, 7.7551*10^-17},
{1.45959, -5.40746*10^-18, 1.54564*10^-16, 2.60751*10^-17},
{-3.74863*10^-17, -1.45364*10^-16, -2.83486*10^-18, -0.241848},
{-1.02008*10^-16, -3.78353*10^-17, 0.241848, 6.82629*10^-19}}


where 2*2 matrices on the top right and bottom left corners are zero.

But when I follow the same method for a complex antisymmetric matrix

H = {{0, 1.05, 0.8 I, 0.05},
{-1.05, 0, -0.05, 0.0027 I},
{-0.8 I, 0.05 , 0, 0.94 },
{-0.05, -0.0027 I, -0.94, 0}}


I won't get a block diagonal matrix. Note pairs of eigenvalues are (1st,2nd) and (3rd,4th) as

vals={-0.394407 - 0.911649 I,
-0.394407 + 0.911649 I,
0.394407 - 0.911649 I,
0.394407 + 0.911649 I}


Any suggestion on improving this script to obtain the block diagonal form of a complex anti-symmetric matrix?

• Why do you exspect that such a block form exists for complex anti-symmetric matrices? – Michael Weyrauch Sep 23 '19 at 13:56
• Good question. When I calculate the Pfaffian of this matrix I can see that it is a square of a value, suggesting me that most likely such a block diagonal form exists. But I do not have any mathematical proof for that yet. – Shasa Sep 23 '19 at 14:01
• Presenting the matrix in as tridiagonal form also helps but I could not find the proper transformation so far. – Shasa Sep 23 '19 at 14:04