0
votes

Imagine I have a numpy array in python that has complex numbers as its elements.

I would like to know if it is possible to split any matrix of this kind into a hermitian and anti-hermitian part? My intuition says that this is possible, similar to the fact that any function can be split into an even and an uneven part.

If this is indeed possible, how would you do this in python? So, I'm looking for a function that takes as input any matrix with complex elements and gives a hermitian and non-hermitian matrix as output such that the sum of the two outputs is the input.

(I'm working with python 3 in Jupyter Notebook).

1
Possible or not part comes under the department of Google, as it is too broad for SO. I'm looking for a function part comes under your department for trying to create such function. Come to us in case of any specific issue, that is the department we handle. - Moinuddin Quadri

1 Answers

4
votes

The Hermitian part is (A + A.T.conj())/2, the anti-hermitian part is (A - A.T.conj())/2 (it is quite easy to prove).

If A = B + C with B Hermitian and C anti-Hermitian, you can take the conjugate (I'll denote it *) on both sides, uses its linearity and obtain A* = B - C, from which the values of B and C follow easily.