Diagonalization of Matrices - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Math Apps : Algebra and Geometry : Matrices : Diagonalization of Matrices

Orthogonal/Unitary Diagonalization of Matrices

Main Concept


Introduction: Special Types of Matrices

The Adjoint of a Matrix


To find the adjoint of a matrix, M, the following transformation is applied: take the transpose of the matrix and then take the complex conjugate of all elements of the matrix. The resulting matrix is called the adjoint of M and is denoted by M*.

Note that if all entries of M are real numbers then Mt= M* because each entry is the complex conjugate of itself.

Enter a matrix M =     take transposetake conjugate = M* 



A matrix U is said to be orthogonal if all of its entries are real numbers and M1 = M*, where M*denotes the adjoint of M. If the entries of the matrix are complex numbers, M is said to be unitary. An interesting fact is that if a matrix is orthogonal or unitary then its eigenvalues are real numbers and are either 1 or -1.

A matrix N is said to be normal if N  N*=  N* N.

A nxn matrix M is said to be orthogonally/unitarily diagonalizable if there exists an orthogonal or unitary nxn matrix U such that for a diagonal nxn matrix D:




This is equivalent to saying: M is similar to a diagonal matrix by using a orthogonal or unitary matrix as a transition matrix.


Is there an easier way to check if a matrix is orthogonally/unitarily diagonalizable?


A matrix A is normal if and only if A is orthogonally/unitarily diagonalizable.

So to check if we can diagonalize the matrix, we must check first if it's normal. This is quite simple from the definition of a normal matrix because it only requires for us to calculate the matrix's adjoint and multiply to verify the condition.

There is, in fact, a procedure in which we can find the diagonal and transition matrices if we determine that the matrix is normal. The procedure is explained step by step below.

Procedure: Step by Step

M =

Step 1: Check if the Matrix is Normal

We will compute both M  M*and M* M and check if they are equal or not.

M$M*=  and M*M = .
The matrix normal.

Step 2: Eigenvalues and Multiplicities

We will calculate the eigenvalues of the matrix by finding the matrix's characteristic polynomial. We solve:  
The characteristic polynomial for the matrix is:  This gives eigenvalues  with multiplicities of , where the left side of each equation is the eigenvalue and the right side of each equation is the multiplicity of that eigenvalue.

Step 3: Finding Eigenvectors


The next step is to find the eigenvectors for the matrix M. This can be done manually by finding the solutions for v in the equation M  λI v  = 0  for each of the eigenvalues λ of M. To solve this manually, the equation will give a system of equations with the number of variables equal to the number of the dimensions of the matrix.

Choose the eigenvalue for which you want to find eigenvectors. λ =  

An aid for solving M  λI v  = 0  is augmenting M into a matrix A that has an extra column of zeros in the end. Then, applying Gaussian Elimination on the augmented matrix A and transforming it into Reduced Row Echelon Form to simplify the calculations.


Then, transform the matrix into a system of linear equations and solve it. Note that x__1,  x__2, ... , x__n represent the variables for the system in the order: x__1x__2xn.

System:  Solution (In vector form):  . Therefore, an orthonormal basis for the eigenspace E__λ is (by using Gram-Schmidt): .
Therefore, combining the results for all eigenvalues we get that an orthonormal basis for ℝn is:.

Step 4: Generate Matrices




The diagonal matrix to which M is similar to is the diagonal matrix that has M's eigenvalues as entries. Note that, the eigenvalues are repeated in terms of multiplicity and equal eigenvalues need to be adjacent to each other.

So we get

D =


The transition matrix will be the concatenation of the eigenvectors beside each other depending on the order of the eigenvalues.

Q  =