주어진 정방행렬 M을 0이 많이 포함된 다른 행렬의 곱으로 표현할 수 있다. 예를 들어 10이 2와 5의 곱인 것처럼 행렬 M도 다른 행렬의 곱으로 나타낼 수 있다고 하자. 만약 P-1MP가 대각행렬이 되면서 역행렬이 있는 행렬 P를 찾을 수 있으면 정방행렬 M은 대각화가 가능하다(diagonalizable)고 표현한다. 대각화의 구체적인 알고리즘을 직관적으로 이해하면 행렬 P의 역행렬과 정방행렬 M과 행렬 P를 곱한 것이 대각행렬이 된다는 의미이고, 대각화를 통해서 이런 계산 결과가 가능한 행렬 P를 찾는다는 것이다. 여기서 주목해야 하는 것은 행렬 P와 P의 역행렬이 사용된다는 점이다.
예를 들어 M을 10번 거듭제곱한다면 다음과 같이 계산해야 한다.
M10 = MMMMMMMMMM
이때 대각화가 가능하여 P와 P의 역행렬을 찾았다고 하자. 그러면 위의 식은 대각화의 정의에 따라 다음과 같이 표현할 수 있다.
P-1MP = D(D는 대각행렬)
이후 양변에 P와 P의 역행렬을 동일하게 곱하면
PP-1MPP-1 = PDP-1
P와 P의 역행렬은 정의에 의해 항등행렬이 되는 것을 볼 수 있다.
IMI = PDP-1
결국 M = PDP-1이 된다. 이제 P와 D를 사용하여 M의 거듭제곱 식에 넣어보자.
M10 = MMMMMMMMMM
=PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1
=PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1PDP-1