행렬 거듭제곱 계산기란?
이 도구는 정사각행렬 A를 정수 n만큼 거듭제곱한 값, 즉 \(A^{n}\)을 구해 줍니다. 행렬을 자기 자신과 n번 곱한 뒤 그 결과 행렬을 보여 줍니다. 실수 성분으로 이루어진 2x2, 3x3, 4x4 행렬에서 동작합니다. 행렬 거듭제곱은 선형대수 곳곳에서 등장합니다. 마르코프 연쇄와 전이행렬, 그래프 인접행렬의 거듭제곱(경로 개수 세기), 이산 동역학계, 그리고 피보나치 수열 같은 점화식이 대표적인 예입니다.
사용 방법
먼저 행렬 크기를 고르고, 격자의 각 칸에 A의 성분을 하나씩 입력합니다(소수와 음수 모두 가능). 그런 다음 정수 지수 n을 입력하고 계산 버튼을 누르세요. n = 0이면 단위행렬이, n = 1이면 A가 그대로 나오며, n ≥ 2이면 반복 곱셈 결과를 얻습니다. A가 역행렬을 가진다면(가역행렬) 음수 n도 입력할 수 있는데, 이 경우 먼저 역행렬을 구한 뒤 |n|제곱을 계산합니다.
계산 공식
거듭제곱은 재귀적으로 정의됩니다. \(A^{0} = I\)(단위행렬), \(A^{1} = A\), 그리고 \(A^{n} = A \cdot A^{n-1}\)입니다.
$$A^{\,n} = \underbrace{A \cdot A \cdots A}_{n\ \text{times}}$$두 j×j 행렬의 곱 \(C = A \cdot B\)의 성분은 \(C[i][k] = \sum A[i][m] \cdot B[m][k]\)로 구합니다. 이 계산기는 효율을 위해 '제곱을 이용한 거듭제곱(exponentiation by squaring)' 방식을 쓰지만, 결과는 단순 반복 곱셈과 완전히 같습니다. 행렬 거듭제곱은 A가 정사각행렬(행의 수 = 열의 수)일 때만 정의됩니다.
예제 풀이
A = [[1, 2], [3, 4]]이고 n = 2라고 합시다. 그러면 \(A^{2} = A \cdot A\)이며 \(c_{11} = 1 \cdot 1 + 2 \cdot 3 = 7\), \(c_{12} = 1 \cdot 2 + 2 \cdot 4 = 10\), \(c_{21} = 3 \cdot 1 + 4 \cdot 3 = 15\), \(c_{22} = 3 \cdot 2 + 4 \cdot 4 = 22\)가 되어 \(A^{2} = [[7, 10], [15, 22]]\)입니다. 한 번 더 제곱하거나(또는 \(A^{3} = A^{2} \cdot A\)를 계산하면) \(A^{3} = [[37, 54], [81, 118]]\)을 얻습니다.
자주 묻는 질문
n = 0이면 무엇이 나오나요? 관례에 따라 같은 크기의 단위행렬 I가 나옵니다.
음수 지수를 써도 되나요? A가 가역행렬(행렬식 ≠ 0)이라면 가능합니다. \(A^{-k}\)는 \(\left(A^{-1}\right)^{k}\)와 같습니다.
$$A^{\,n} = \left(A^{-1}\right)^{\left|n\right|},\quad \det(A) \neq 0$$행렬식이 0이면 결과가 정의되지 않으며, 계산기가 이를 알려 줍니다.
왜 일부 성분에 아주 작은 소수가 표시되나요? 거듭제곱이 크거나 성분 값이 클 때 부동소수점 반올림 오차가 누적될 수 있습니다. 결과는 약 14자리 유효숫자로 반올림됩니다.