algorithm: diagonalize a matrix

Problem

Let 20250131-algorithm_diagonalize_a_matrix_e97d8396e8125bc021268f9f190592002d144779.svg be a matrix.
Suppose 20250131-algorithm_diagonalize_a_matrix_916c362ec11687631f4cc94f340c13fef3d5f949.svg is diagonalizable (cf. criterias: diagonalizable Matrix).

Then to diagonalize it, one has to find an invertible matrix 20250131-algorithm_diagonalize_a_matrix_5ad23266f6fb6dfb20fe74e5e37420e7747e73db.svg and a diagonal matrix 20250131-algorithm_diagonalize_a_matrix_6b14fc91d6dbde3f14593e622d19d5314285ab54.svg such that

20250131-algorithm_diagonalize_a_matrix_b2b508952dbd5a34361c21c3fd18e2c2c4e1682f.svg

Steps

  1. determine the eigenvalues - if you only have to find the diagonal form, then you are done:

Set

20250131-algorithm_diagonalize_a_matrix_20ae8327ed3458cc0ddf340994bb4de2fd3ca491.svg

where 20250131-algorithm_diagonalize_a_matrix_a015dae1afce6eb5a976312edefaaeb9ac6e14e3.svg are the eigenvalues

  1. determine the eigenspace
  2. find a basis consisting of eigenvectors: find a basis for each Eigenspace. Then a Basis of 20250131-algorithm_diagonalize_a_matrix_f9a44ab724c25d336d326acbf98e515bcc40b054.svg is given by taking the union of the basis
  3. Suppose 20250131-algorithm_diagonalize_a_matrix_7332aeb4113bb8eb72f5c0240aea0076cad7fad7.svg form a basis consisting of eigenvectors (regarded as column vector), where 20250131-algorithm_diagonalize_a_matrix_a015dae1afce6eb5a976312edefaaeb9ac6e14e3.svg is the eigenvalue for 20250131-algorithm_diagonalize_a_matrix_9653c959b03b2abd16b748c101e3f1641d758427.svg. Then consider the matrix
20250131-algorithm_diagonalize_a_matrix_c20688dc92013a2109aa2412af76343dd40aa803.svg

as basis change from 20250131-algorithm_diagonalize_a_matrix_7765cf11955a16bfbebc657fbabf7a3935cd8716.svg to the standard basis 20250131-algorithm_diagonalize_a_matrix_c37eab9ba023bec7c9a2c92bd283a7ee1c70b515.svg
Then we get

20250131-algorithm_diagonalize_a_matrix_20ae8327ed3458cc0ddf340994bb4de2fd3ca491.svg

and

20250131-algorithm_diagonalize_a_matrix_f6a90ada1314877ee2b67b855e17907b8fe5a00c.svg

Hence to determine 20250131-algorithm_diagonalize_a_matrix_dc8fc442dddded85f3f5ead0ba0954d560bc5651.svg it remains to compute the inverse of 20250131-algorithm_diagonalize_a_matrix_895cec8cc7272fac0eae09a080e470e0c385d229.svg

Date: nil

Author: Anton Zakrewski

Created: 2025-02-04 Di 19:42