본문으로 바로가기

여인수 전개(라플라스 전개): 실용 가이드

여인수 전개(라플라스 전개)를 단계별로 안내합니다. 핵심 정의, 예제 풀이, 주요 성질, 수반행렬을 통한 행렬 역행과의 연결까지 다룹니다.
업데이트됨 2026년 5월 4일  · 12분 읽다

3×3 행렬(또는 그보다 큰 행렬)의 행렬식을 계산하는 일은 2×2의 경우처럼 간단명료하지 않습니다.

대각선 두 개를 교차 곱하는 것으로 끝나지 않습니다. 행렬이 커질수록 계산이 복잡해집니다. 체계적인 방법이 없으면 금세 길을 잃기 쉽습니다. 바로 이런 문제를 해결하려고 고안된 것이 여인수 전개(라플라스 전개)입니다.

여인수 전개는 선택한 어떤 행 또는 열을 따라 전개하여 임의의 정사각행렬의 행렬식을 계산하는 방법입니다. 문제를 더 작은 행렬식으로 재귀적으로 쪼개어, 이미 푸는 법을 아는 크기까지 줄여 줍니다.

이 글에서는 여인수 전개의 정의와 그 배경 공식, 2×2와 3×3 행렬의 단계별 예시, 핵심 성질, 실용적 응용을 다룹니다.

여인수 전개란?

여인수 전개는 임의의 정사각행렬의 행렬식을 계산하는 재귀적 방법입니다.

여기서 “재귀적”이라는 뜻은, 큰 행렬의 행렬식을 한 번에 계산하는 대신 더 작은 행렬식으로 쪼갠다는 의미입니다. 더 작은 행렬식은 다시 더 작은 것으로 쪼개집니다. 이렇게 2×2 행렬이 될 때까지 계속 진행하며, 2×2는 쉽게 풀 수 있습니다.

이 방법은 2×2, 3×3, 4×4 등 모든 정사각행렬에 적용됩니다. 특히 두 대각선의 교차 곱으로 해결할 수 없는 3×3 이상의 경우에 유용합니다.

핵심 아이디어는 단순합니다. 행렬에서 하나의 행 또는 열을 선택해 그 방향으로 전개합니다. 해당 행 또는 열의 각 원소가 더 작은 하위 문제를 만듭니다. 각 하위 문제를 풀고 결과를 합치면 행렬식을 얻습니다. 끝입니다.

소행렬식과 여인수: 핵심 정의

전개를 하기 전에 두 가지 구성 요소, 즉 소행렬식과 여인수를 이해해야 합니다.

소행렬식

소행렬식 M_ij는 원래 행렬에서 i번째 행과 j번째 열을 삭제하고 남은 더 작은 행렬의 행렬식입니다.

예를 들어 3×3 행렬 A가 있고 소행렬식 M_12를 구하고자 한다고 합시다. 1행과 2열을 삭제하면 2×2 행렬이 남습니다. 그 행렬식이 바로 소행렬식입니다.

여인수

여인수 C_ij는 소행렬식에 한 단계 더 나아가, 위치 (i, j)에 따른 부호 요인을 적용한 값입니다:

The cofactor

여인수

(-1)^(i+j)는 행렬 내 위치에 따라 소행렬식의 부호를 유지하거나 뒤집습니다.

i + j가 짝수이면 (-1)^(i+j) = +1이므로 여인수는 소행렬식과 같습니다. i + j가 홀수이면 (-1)^(i+j) = -1이므로 여인수는 소행렬식의 부호를 뒤집습니다.

체커보드 패턴

이 부호 교대는 행렬 전체에 체커보드 패턴을 만듭니다:

The checkerboard pattern

체커보드 패턴

왼쪽 위 모서리는 항상 +로 시작합니다. 그다음부터는 모든 방향으로 부호가 번갈아 듭니다. 이 패턴을 보면 해당 여인수가 행렬식에 더해지는지 빼지는지 한눈에 알 수 있습니다.

여인수 전개 공식

기다리시던 공식입니다.

i를 따라 전개하면:

Expansion along row i

행 i를 따른 전개

j를 따라 전개하면:

Expansion along column j

열 j를 따른 전개

쉽게 말해, 선택한 행 또는 열의 각 원소에 그 여인수를 곱하고 모두 더하면 됩니다.

a_ij는 행렬의 개별 원소이고, C_ij는 각 위치에서 계산한 여인수입니다. 둘을 곱하고 합하면 행렬식이 됩니다.

어떤 행이나 열을 선택하든 상관없습니다. 1행을 따라 전개하든 3행이나 2열을 따라 전개하든 결과는 같습니다. 행렬식은 행렬의 고정된 성질이며, 전개 경로는 단지 선택일 뿐입니다.

다만 그 선택이 작업량에는 영향을 줍니다. 0이 많은 행이나 열을 고르면 계산해야 할 여인수가 줄어듭니다. 어떤 행에 0이 두 개 있고 0이 아닌 원소가 세 개라면, 그 세 개에 대해서만 여인수를 계산하면 됩니다. 0은 합에 기여하지 않으니까요. 전개할 행이나 열을 고르기 전, 반드시 행렬에서 0을 먼저 찾아보세요.

단계별: 여인수 전개가 작동하는 방식

여인수 전개는 항상 동일한 3단계를 따릅니다.

1단계: 행 또는 열을 선택합니다. 행렬을 훑어보고 0이 가장 많은 행이나 열을 고르세요. 0이 아닌 원소가 적을수록 계산할 여인수가 줄어듭니다.

2단계: 선택한 행 또는 열의 각 0이 아닌 원소에 대해 다음을 수행합니다.

  • 소행렬식 M_ij을 계산합니다 - i번째 행과 j번째 열을 삭제한 뒤 남은 부분의 행렬식을 구합니다.

  • 체커보드 패턴을 사용해 부호 요인 (-1)^(i+j)을 적용하여 여인수 C_ij를 얻습니다.

  • 원소 a_ij에 그 여인수 C_ij를 곱합니다.

3단계: 모든 곱을 합합니다.

The determinant

행렬식

이것이 곧 행렬식입니다.

하위 행렬이 2×2보다 크다면, 2×2 행렬식이 될 때까지 같은 과정을 반복하세요. 2×2는 ad - bc로 바로 계산할 수 있습니다.

예제 1: 2×2 행렬의 여인수 전개

가장 단순한 경우로 모든 내용을 연결해 봅시다.

다음 2×2 행렬을 봅니다:

Sample 2x2 matrix

예시 2x2 행렬

1행을 따라 전개합니다. 두 원소는 a_11 = 3a_12 = 1입니다.

  • a_11 = 3에 대해: 1행과 1열을 삭제하면 (4)만 남습니다. 부호 요인은 (-1)^(1+1) = +1입니다. 따라서 C_11 = +4입니다.

  • a_12 = 1에 대해: 1행과 2열을 삭제하면 (2)만 남습니다. 부호 요인은 (-1)^(1+2) = -1입니다. 따라서 C_12 = -2입니다.

이제 곱을 합합니다:

Determinant calculation

행렬식 계산

표준 2×2 공식 ad - bc = (3)(4) - (1)(2) = 10과 일치함을 알 수 있습니다. 여인수 전개와 교차 곱의 지름길은 같은 답을 얻는 두 방법입니다.

예제 2: 3×3 행렬의 여인수 전개

이번에는 3×3 전체 예제를 풀어 보겠습니다.

다음 행렬을 봅니다:

Sample 3x3 matrix

예시 3x3 행렬

1행의 위치 (1,2)에 0이 있으므로 1행을 따라 전개하겠습니다. 0 덕분에 한 여인수 계산을 완전히 건너뛸 수 있습니다.

1단계: 전개 설정

Expansion setup (1)

전개 설정 (1)

a_12 = 0이므로 가운데 항은 사라집니다:

Expansion setup (2)

전개 설정 (2)

두 개의 여인수만 계산하면 됩니다. 올바른 행을 고른 보상입니다.

2단계: C_11 계산

이제 1행과 1열을 삭제합니다. 남는 것은 다음과 같습니다:

First computation

첫 번째 계산

위치 (1,1)의 부호는 (-1)^(1+1) = +1이므로 C_11 = +2입니다.

3단계: C_13 계산

다음으로 1행과 3열을 삭제합니다. 남는 것은 다음과 같습니다:

Second computation

두 번째 계산

위치 (1,3)의 부호는 (-1)^(1+3) = +1이므로 C_13 = +11입니다.

4단계: 곱을 합하기

Determinant calculation

행렬식 계산

이것이 행렬식입니다. 처음에 0이 있는 행을 골라서, 세 개의 여인수 문제를 두 개로 줄였습니다. 항상 스마트하게 접근하세요.

가장 좋은 행 또는 열을 고르는 방법

어떤 행이나 열을 고르든 결과는 같지만, 작업량은 달라집니다.

항상 먼저 0을 찾으세요. 선택한 행 또는 열의 0 하나는 계산할 여인수 하나를 줄여 줍니다. 위 3×3 예시에서는 0 하나가 작업을 세 개에서 두 개로 줄였습니다. 더 큰 행렬에서는 여러 개의 0이 여러 하위 행렬식 계산을 아껴 줍니다.

기억할 만한 포인트는 다음과 같습니다

  • 한 행이나 열에 0이 하나면 계산할 여인수가 하나 줄어듭니다
  • 0이 둘이면 두 개가 줄어듭니다
  • 하나만 빼고 모두 0이면 여인수 하나만 계산하면 됩니다

행렬의 크기가 커질수록 이 점이 중요해집니다. n×n 행렬에 대해 단순 여인수 전개는 계승 시간 복잡도로 동작합니다. 즉 4×4는 네 개의 3×3 행렬식을 계산해야 하고, 각각은 다시 세 개의 2×2로 전개됩니다. 더하기를 시작하기도 전에 24번의 개별 계산이 필요합니다. 5×5는 120번입니다.

큰 행렬에는 여인수 전개가 적절한 도구가 아닙니다. 가우스 소거(행 소거)와 LU 분해가 큰 행렬을 훨씬 빠르게 처리합니다. 여인수 전개는 2×2와 3×3, 또는 행렬식을 기호적으로 표현해야 하는 이론적 작업에 가장 적합합니다.

손으로 계산할 때는 시작하기 전에 0이 가장 많은 행이나 열을 몇 초만에라도 찾아보세요. 산술 오류를 줄이는 가장 간단한 방법입니다.

여인수 전개와 재귀 구조

여인수 전개는 재귀적 구조를 내장하고 있습니다.

n×n 행렬의 행렬식을 구하려면, 한 행 또는 열을 따라 전개하여 (n-1)×(n-1) 행렬의 행렬식을 계산합니다. 각각은 다시 (n-2)×(n-2) 행렬로 전개됩니다. 2×2가 될 때까지 줄여 나가고, 그때는 직접 풉니다.

이 재귀적 성질이 행렬식을 대수적으로 정의합니다. 각 크기의 행렬에 대해 행렬식이 무엇인지 알려 주며, 단지 계산법만을 말하는 것이 아닙니다.

다만 재귀에는 비용이 따릅니다.

전개 단계가 하나 늘어날 때마다 하위 문제가 곱으로 증가하며, 큰 행렬에서는 계산량이 빠르게 커집니다. 그래서 수치해석 라이브러리는 내부적으로 여인수 전개를 사용하지 않습니다. 행 소거와 분해 방법이 훨씬 더 잘 확장됩니다.

작은 행렬과 이론적 작업에는 이 재귀 구조가 바로 필요한 것입니다. 그보다 큰 경우에는 다른 접근을 찾는 편이 낫습니다.

수반행렬과의 연결

여인수는 행렬 역행의 구성 요소입니다. 단지 행렬식을 계산하는 데만 쓰이지 않습니다.

행렬 A의 모든 원소에 대해 여인수 C_ij를 계산하면 여인수 행렬 C를 얻게 됩니다. 그것의 전치(행과 열을 뒤집기)를 취하면 수반행렬이 됩니다:

The adjugate matrix

수반행렬

여기서부터 역행렬은 곧바로 따라옵니다:

Matrix inverse

역행렬

즉, 모든 여인수를 계산해 행렬로 배열하고, 전치한 뒤, 행렬식으로 나누면 됩니다. 그것이 곧 역행렬입니다.

여기서 기억할 점 두 가지:

  1. 이는 det(A) ≠ 0일 때만 작동합니다. 행렬식이 0이면 역행렬이 존재하지 않습니다
  2. 이 공식은 정확하며, 이론 작업과 기호 대수에 유용합니다. 큰 행렬의 수치 계산에는 다른 방법이 더 빠릅니다.

여인수 전개와의 연결이 궁금하다면, 수반행렬의 모든 성분이 전개 과정에서 계산하는 여인수에서 나온다는 점만 기억하세요. 행렬식을 구하는 과정이 곧 행렬을 역행하는 데 필요한 모든 것을 제공합니다.

여인수 전개의 성질

여인수 전개에는 알아 두면 좋은 몇 가지 성질이 있습니다. 작업을 다시 확인하는 수고를 덜고 지름길을 찾는 데 도움이 됩니다.

기억할 네 가지 성질은 다음과 같습니다:

  • 임의의 행 또는 열을 따라 전개해도 결과는 같다. 2행이든 3열이든 전개해도 행렬식은 바뀌지 않습니다. 0이 많은 쪽을 고르세요
  • 행렬식은 각 행에 대해 선형이다. 한 행을 상수 k배 하면 행렬식도 k배 됩니다. 이는 여인수가 각 원소에 곱해지는 방식에서 곧바로 따릅니다
  • 두 행을 맞바꾸면 행렬식의 부호가 바뀐다. 한 번 바꾸면 음수가 되고, 두 번 바꾸면 원래대로 돌아옵니다. 그래서 행 연산을 신중히 추적해야 합니다
  • 두 행이 선형 종속이면 행렬식은 0이다. 선형 종속은 한 행이 다른 행의 스칼라 배수임을 의미합니다. 더 일반적으로는 행들이 전체 공간을 생성하지 못한다는 뜻입니다. 이 경우 행렬은 특이(singular)하고 역행렬이 없습니다

이러한 성질 덕분에 전개 전에 행을 단순화하고, 종속성을 찾아내며, 불필요한 계산을 피할 수 있습니다.

자주 하는 실수

여인수 전개에는 반복해서 나타나는 몇 가지 실패 지점이 있습니다. 다음 사항을 주의하세요.

  • (-1)^(i+j) 부호를 빼먹는 것. 가장 흔한 실수입니다. 소행렬식은 정확히 구하고 원소와 곱했지만, 부호 요인을 건너뛰면 오답이 됩니다. 여인수를 적기 전 항상 체커보드 패턴을 확인하세요
  • 소행렬식을 위해 잘못된 행이나 열을 삭제하는 것. M_ij를 계산할 때는 전개하려는 원소의 i번째 행과 j번째 열을 삭제해야 합니다. 특히 3×3에서는 남는 행렬이 서로 비슷해 보일 수 있어 잘못 지우는 실수가 잦습니다
  • 재귀를 너무 일찍 멈추는 것. 하위 행렬이 아직 3×3 이상이면 다시 전개해야 합니다. 어떤 분들은 3×3 소행렬을 2×2처럼 취급해 ad - bc를 바로 적용하곤 합니다
  • 재귀 단계에서의 산술 오류. 재귀가 깊어질수록 곱셈과 부호 반전이 늘어납니다. 초기에 계산한 하위 행렬식에서의 단 한 번의 산술 오류가 이후 모든 단계에 전파됩니다. 각 2×2 행렬식을 결합하기 전에 꼼꼼히 계산하세요

최종 답이 이상해 보인다면, 부호 패턴과 삭제한 행·열이 가장 먼저 다시 확인할 부분입니다.

여인수 전개를 사용할 때

여인수 전개가 적합한 상황이 몇 가지 있습니다.

작은 행렬에는 가장 직접적인 접근입니다. 2×2는 간단하고, 3×3은 손으로 몇 분 안에 처리할 수 있습니다. 4×4 이상부터는 재귀 단계 수가 빠르게 증가하여 다른 방법이 더 빠르고 오류도 덜합니다.

이론 및 기호 계산에도 기본 도구입니다. 증명을 진행하거나 공식을 유도하거나, 숫자 대신 기호가 들어간 행렬식을 계산할 때 여인수 전개는 정확한 기호식을 제공합니다. 행 소거는 수치 계산에는 훌륭하지만, 기호에서는 복잡해집니다.

다음은 여인수 전개를 사용할 상황의 간단한 요약입니다:

  • 2×2 또는 3×3 행렬을 다루는 경우
  • 수치 근사값이 아닌 정확한 기호 결과가 필요한 경우
  • 행렬식을 명시적으로 전개해야 하는 증명을 수행 중인 경우
  • 행렬식이 실제로 의미하는 바에 대한 직관을 쌓고자 하는 경우

큰 수치 행렬에는 사용하지 마세요. 행 소거와 LU 분해가 훨씬 빠르고 누적 산술 오류의 위험도 훨씬 적습니다. 대부분의 수치 라이브러리가 바로 이 이유로 이러한 방법을 내부적으로 사용합니다.

여인수 전개는 일반 목적 알고리즘이 아니라, 손계산과 이론을 위한 도구라고 생각하는 것이 가장 좋습니다.

결론

여인수 전개는 임의의 정사각행렬의 행렬식을 계산하는 체계적이고 재귀적인 방법을 제공합니다.

두 가지 구성 요소, 즉 소행렬식과 (-1)^(i+j) 부호 패턴이 전체 과정을 이끕니다. 이것만 정확하면 나머지는 수월합니다. 0이 있는 행이나 열을 골라 작업을 줄이고, 2×2 행렬식으로 환원한 뒤 결과를 합치세요.

행렬식 너머로는 수반행렬과 역행렬 공식과도 연결됩니다. 전개 과정에서 계산하는 여인수들이 바로 adj(A)를 구성하므로, 여인수 전개는 행렬 역행이 대수적으로 어떻게 작동하는지 이해하는 토대가 됩니다.

작은 행렬과 이론적 작업에는 가장 투명한 방법입니다. 큰 수치 행렬에는 행 소거 또는 수치 라이브러리를 사용하세요.

여인수 전개를 실제로 보고 싶다면, 저희 R로 배우는 데이터 과학을 위한 선형대수 과정을 수강하세요.

여인수 전개 FAQ

여인수 전개란 무엇인가요?

여인수 전개(라플라스 전개)는 임의의 정사각행렬의 행렬식을 계산하는 방법입니다. 선택한 행 또는 열을 따라 전개하고, 각 원소에 그 여인수를 곱해 결과를 합산합니다. 이 과정은 더 큰 행렬을 재귀적으로 더 작은 행렬로 줄여 나가며, 최종적으로 2×2 행렬식까지 도달하면 직접 계산할 수 있습니다.

언제 여인수 전개를 사용해야 하나요?

여인수 전개는 2×2와 3×3 같은 작은 행렬, 그리고 정확한 식이 필요한 이론적·기호적 문제에 가장 적합합니다. 큰 수치 행렬에는 행 소거와 LU 분해가 더 빠르고 오류가 적습니다. 대부분의 수치 라이브러리는 내부적으로 이러한 방법을 사용합니다.

소행렬식과 여인수의 차이는 무엇인가요?

소행렬식 M_iji번째 행과 j번째 열을 삭제하고 얻는 행렬의 행렬식입니다. 여인수 C_ij는 여기에 위치에 따른 부호 요인 (-1)^(i+j)를 적용해, 위치에 따라 부호를 유지하거나 뒤집습니다. 여인수가 전개 공식에서 실제로 사용되는 값입니다.

행 또는 열의 선택이 결과에 영향을 주지 않는 이유는 무엇인가요?

어떤 행이나 열을 따라 전개해도 항상 같은 행렬식이 나옵니다. 이는 방법의 근본적인 성질입니다. 선택은 결과가 아니라 계산량에만 영향을 줍니다. 0이 많은 행이나 열을 고르면 계산해야 할 여인수가 줄어듭니다.

여인수 전개는 행렬 역행과 어떻게 연결되나요?

전개 과정에서 계산하는 여인수들은 여인수 행렬의 전치인 수반행렬 adj(A)를 구성하는 값과 같습니다. 그러면 역행렬은 A^{-1} = (1 / det(A)) * adj(A)가 됩니다. 즉, 여인수 전개는 행렬 역행의 대수적 공식을 뒷받침합니다.

주제

DataCamp와 함께 배우기

courses

R로 배우는 데이터 과학을 위한 선형대수

4
20.7K
데이터 과학을 떠받치는 핵심 수학 분야인 선형대수를 소개합니다.
자세히 보기Right Arrow
강좌 시작
더 보기Right Arrow