https://noisrucer.github.io/posts/6_2_diagonalizing_matrix/
[Linear Algebra] 6.2 Diagonalizing Matrix - noisrucer