행렬식 계산기

다음

정방행렬의 행렬식은 행렬이 가역인지(0이 아닌 행렬식), 부호 있는 부피를 얼마나 확대하는지, 방향을 뒤집는지를 알려주는 단일 스칼라입니다. 2×2부터 10×10까지의 행렬을 입력하면 계산기가 작은 행렬은 완전한 여인수 전개로, 큰 행렬은 LU 분해 단계로 det(A)를 반환하므로 대수를 한 줄씩 따라갈 수 있습니다.

행렬식 계산 방법

  1. 1

    정방행렬 입력

    행 = 열. 소수와 음수도 가능합니다.

  2. 2

    방법 선택

    여인수 전개(교육적, 작은 행렬) 또는 LU 분해(빠름, 큰 행렬).

  3. 3

    행렬식 확인

    부호가 포함된 스칼라 결과입니다.

  4. 4

    단계 따라가기

    여인수의 경우 각 소행렬식과 부호가 표시됩니다. LU의 경우 행 연산 순서가 표시됩니다.

행렬식이 알려주는 것

  • 0이 아님: 행렬은 가역이고, 열이 선형 독립이며, 전단사 선형 사상을 정의합니다.
  • 0: 행렬은 특이행렬이고, 열이 선형 종속이며, 사상이 최소 한 차원을 붕괴시킵니다.
  • 부호: 양수는 선형 사상이 방향을 보존함을, 음수는 방향을 뒤집음(거울상처럼)을 의미합니다.
  • 크기: |det(A)|는 사상이 n차원 부피를 확대하는 배율입니다. det가 3인 2×2는 넓이를 3배로 확대하고, det가 −2이면 넓이를 2배로 확대하며 뒤집습니다.

작은 경우: 손으로 계산하기

2×2:

det([[a, b], [c, d]]) = a·d − b·c

3×3(사뤼스 규칙):

[[a,b,c],[d,e,f],[g,h,i]]에 대해 det = a(ei − fh) − b(di − fg) + c(dh − eg).

큰 경우: LU 사용

여인수 전개로 4×4 행렬식을 손으로 계산하면 4! = 24번의 곱셈이 필요합니다. 6×6은 720번입니다. LU 분해는 작업을 O(n³)로 줄입니다. A = LU로 분해하는데, L은 대각이 1인 하삼각행렬, U는 상삼각행렬입니다. 그러면 det(A) = det(L)·det(U) = ∏ u_ii입니다.

알아둘 만한 성질

  • det(AB) = det(A)·det(B).
  • det(A^T) = det(A).
  • det(A^−1) = 1 / det(A).
  • n×n 행렬에서 det(kA) = k^n · det(A).
  • 두 행을 바꾸면 행렬식의 부호가 반전됩니다.
  • 한 행의 배수를 다른 행에 더해도 변하지 않습니다.
  • 어떤 행(또는 열)이 모두 0이면 행렬식은 0입니다.

흔한 실수

  • 여인수 전개에서 부호 패턴 잊기: + − + − + − .... (i,j) 여인수는 (−1)^(i+j) 곱하기 소행렬식입니다.
  • 0이 세 개 있는 행이 있는데도 0이 아닌 항이 많은 행을 따라 전개하기. 작업을 쉽게 하려면 0이 가장 많은 행이나 열을 고르세요.
  • det(A+B) = det(A) + det(B)라고 가정하기. 그렇지 않습니다. 행렬식은 가법이 아니라 곱셈적입니다.

자주 묻는 질문

선형 사상이 방향을 보존하는지 알려줍니다. 양의 행렬식은 오른손 좌표계가 오른손으로 유지됨을, 음수는 왼손이 됨(반사)을 의미합니다.

아니요. 행렬식은 정방행렬에만 정의됩니다. 정방이 아닌 경우 가장 가까운 유사 개념은 특이값이나 부분행렬의 그람 행렬식입니다.

두 행 교환: 부호 반전. 행을 k배 스케일: 행렬식이 k배. 한 행의 배수를 다른 행에 더하기: 행렬식 불변. LU 분해는 세 번째 연산만 사용해 축소 중에 행렬식을 보존합니다.

기본 LU는 그렇지 않습니다. 피벗이 0인 행렬에서 실패합니다. 부분 피벗팅이 있는 LU(계산기의 기본값)는 작은 피벗을 피하려고 행을 교환하며 대부분의 실수 행렬에 대해 안정적입니다.

배정밀도 연산이므로 약 15~16개의 유효 자릿수입니다. 거의 특이한 행렬(det ≈ 0)은 오차가 누적되므로, 절댓값이 매우 작다면 마지막 소수를 믿기보다 0일 가능성이 높다고 보세요.

관련 도구

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