We’re now ready to characterize those transformations on complex vector spaces which have a diagonal matrix with respect to some orthonormal basis. First of all, such a transformation must be normal. If we have a diagonal matrix we can find the matrix of the adjoint by taking its conjugate transpose, and this will again be diagonal. Since any two diagonal matrices commute, the transformation must commute with its adjoint, and is therefore normal.
On the other hand, let’s start with a normal transformation and see what happens as we try to diagonalize it. First, since we’re working over here, we can pick an orthonormal basis that gives us an upper-triangular matrix and call the basis . Now, I assert that this matrix already is diagonal when is normal.
Let’s write out the matrices for
Now we can see that , while . Since these bases are orthonormal, it’s easy to calculate the squared-lengths of these two:
But since is normal, these two must be the same. And so all the entries other than maybe in the first row of our matrix must be zero. We can then repeat this reasoning with the basis vector , and reach a similar conclusion about the second row, and so on until we see that all the entries above the diagonal must be zero.
That is, not only is it necessary that a transformation be normal in order to diagonalize it, it’s also sufficient. Any normal transformation on a complex vector space has an orthonormal basis of eigenvectors.
Now if we have an arbitrary orthonormal basis — say is a transformation on with the standard basis already floating around — we may want to work with the matrix of with respect to this basis. If this were our basis of eigenvectors, would have the diagonal matrix . But we may not be so lucky. Still, we can perform a change of basis using the basis of eigenvectors to fill in the columns of the change-of-basis matrix. And since we’re going from one orthonormal basis to another, this will be unitary!
Thus a normal transformation is not only equivalent to a diagonal transformation, it is unitarily equivalent. That is, the matrix of any normal transformation can be written as for a diagonal matrix and a unitary matrix . And any matrix which is unitarily equivalent to a diagonal matrix is normal. That is, if you take the subspace of diagonal matrices within the space of all matrices, then use the unitary group to act by conjugation on this subspace, the result is the subspace of all normal matrices, which represent normal transformations.
Often, you’ll see this written as , which is really the same thing of course, but there’s an interesting semantic difference. Writing it using the inverse is a similarity, which is our notion of equivalence for transformations. So if we’re thinking of our matrix as acting on a vector space, this is the “right way” to think of the spectral theorem. On the other hand, using the conjugate transpose is a congruence, which is our notion of equivalence for bilinear forms. So if we’re thinking of our matrix as representing a bilinear form, this is the “right way” to think of the spectral theorem. But of course since we’re using unitary transformations here, it doesn’t matter! Unitary equivalence of endomorphisms and of bilinear forms is exactly the same thing.