행렬 역행렬 계산기

정사각 행렬
결과

제곱 행렬 A의 역행렬은 A · A⁻¹ = I가 성립하는 행렬 A⁻¹를 의미합니다. 10×10 크기 이내의 제곱 행렬을 입력하면 계산기는 해당 행렬에 단위 행렬을 더한 후 부분 피보팅 방식의 가우스-조던 소거법을 실행하고, 수행된 모든 행 연산 결과와 함께 A⁻¹을 반환합니다. 행렬이 특이함(det = 0)인 경우에는 계산이 중단되며, 소거 과정에서 실패한 위치가 표시됩니다.

역행렬은 어떻게 계산되는가

  1. 1

    제곱 행렬을 입력하세요

    행과 열의 수가 동일합니다. 2×2부터 10×10까지입니다.

  2. 2

    도구가 가역성을 확인합니다

    먼저 det(A)를 계산합니다. 그 결과가 0이면 행렬은 특이행렬이며 역행렬이 없습니다.

  3. 3

    단위 행렬로 확장하기

    가우스-요르단 소거법을 수행할 수 있도록 블록 [A | I]을 구성합니다.

  4. 4

    행을 [I | A⁻¹]로 줄인다

    각 행 연산은 로그로 기록되며, 오른쪽 블록은 그 역행렬이 됩니다.

  5. 5

    확인하기

    이 도구는 A · A⁻¹을 곱하여 결과를 표시하며, 그 결과는 수치적 정밀도 내에서 단위 행렬과 일치해야 합니다.

역행렬이 존재할 때

정방 행렬 A는 det(A) ≠ 0일 때, 그리고 오직 그때에만 가역입니다. 동치인 조건은 다음과 같습니다.

  • 열들이 선형 독립이다.
  • 행들이 선형 독립이다.
  • 영공간이 자명하다(영벡터만 포함).
  • A가 완전 계수를 가진다(계수 = n).
  • 선형 연립방정식 Ax = b가 모든 b에 대해 유일한 해를 가진다.

2×2 공식

A = [[a, b], [c, d]]에 대해:

A^−1 = (1 / (ad − bc)) · [[d, −b], [−c, a]]

대각 성분을 서로 바꾸고, 비대각 성분의 부호를 반전한 뒤 행렬식으로 나눕니다.

한눈에 보는 가우스-요르단 법

시작: [A | I]

끝: [I | A^−1]

A를 I로 바꾸는 행 연산을 I에 적용하면 I는 A⁻¹가 됩니다.

부분 피벗팅이 중요한 이유

부분 피벗팅을 하지 않으면 알고리즘은 현재 행의 대각 성분을 피벗으로 선택합니다. 그 성분이 0이거나 매우 작으면 나눗셈이 불안정해집니다. 부분 피벗팅은 절댓값이 가장 큰 피벗을 가진 행으로 교환하여 계산을 수치적으로 안정시킵니다.

결과 확인하기

A · A⁻¹을 곱해 봅니다. 단위 행렬이 나와야 합니다(아주 작은 수치 오차 범위 내). 대각 성분이 1에서, 또는 다른 위치의 성분이 0에서 뚜렷하게 벗어나 있다면 그 행렬은 특이 행렬에 가깝고 수치적 역행렬은 신뢰할 수 없습니다. 이론적으로는 존재하지만 계산된 값은 여러 자리까지 틀릴 수 있습니다.

2×2 계산 예시

A = [[4, 7], [2, 6]]

  • det(A) = 4·6 − 7·2 = 24 − 14 = 10 (0이 아니므로 가역).
  • 교환하고 부호 반전: [[6, −7], [−2, 4]].
  • 10으로 나누기: A^−1 = [[0.6, −0.7], [−0.2, 0.4]].
  • 검증: A · A^−1 = [[1, 0], [0, 1]]. ✓

  • 정확한 산술을 사용하세요. 작은 행렬(2×2, 3×3)에서는 깔끔한 분수를 얻기 위해 정확한 유리수 연산을 사용하세요. 부동소수점은 단순한 정수 입력에서도 반올림 오차를 일으킵니다.
  • Ax = b를 풀기 위해 역행렬을 구하지 마세요. 실제 코드에서는 대신 확대 행렬 [A | b]를 행 축약하세요. 역행렬을 구한 뒤 곱하는 것보다 빠르고 안정적입니다.
  • 조건수. cond(A)가 크면(예: 배정밀도에서 >10^10) 역행렬이 존재하더라도 수치적으로는 신뢰할 수 없습니다.

자주 묻는 질문

특이 행렬이란 행렬식이 0이라는 뜻으로, 열들이 선형 종속일 때 생깁니다. 즉 한 열이 다른 열의 배수이거나 두 열의 합인 경우입니다. 0이 아닌 성분이 있다고 해서 열의 독립성이 보장되지는 않습니다.

아니요, 비제곱 행렬에도 의사역행렬(Moore-Penrose 역행렬)이 존재하지만, 이는 모든 행렬에 대해 정의되며 진정한 역행렬은 아닙니다. 필요할 경우 전용 의사역행렬 계산 도구를 사용하시기 바랍니다.

적당한 크기 이하의 정수 입력의 경우 결과가 유리수로 유지됩니다. 부동소수점이나 무리수 입력의 경우에는 계산기가 배정밀도로 전환합니다.

브라우저에서 최대 10×10 크기까지는 문제없이 표시됩니다. 그 이상의 경우 BLAS와 함께 수치 라이브러리를 사용하십시오.

이중 정밀 계산에서의 반올림 처리입니다. 값은 1 대신 1.000000000000002일 수 있습니다. 조건부 행렬의 경우 드리프트가 더 크게 나타날 수 있습니다. 정확한 역행렬을 필요로 하는 경우에는 소형 행렬에 대해 정확 유리수 모드를 사용하십시오.

관련 도구

이 도구는 다른 언어로도 제공됩니다